Lookahead y búsqueda hacia atrás no son casi tan similar como sus nombres lo indican. La expresión de búsqueda anticipada funciona exactamente igual que si fuera una expresión regular independiente, excepto que está anclada en la posición de coincidencia actual y no consume lo que coincide.
de búsqueda hacia atrás es una historia completamente diferente. Comenzando en la posición de coincidencia actual, retrocede el texto un carácter a la vez, intentando emparejar su expresión en cada posición. En los casos en que no es posible la coincidencia, el lookbehind tiene que recorrer todo el camino hasta el comienzo del texto (un personaje a la vez, recuerda) antes de que se rinda. Compare eso con la expresión de anticipación, que se aplica exactamente una vez.
Ésta es una simplificación excesiva, por supuesto, y no todos los sabores funciona de esa manera, pero se entiende la idea. La forma se aplican lookbehinds es fundamentalmente diferente de (y mucho, mucho menos eficiente que) la forma en que se aplican los símbolos de anticipación. Solo tiene sentido establecer un límite sobre cuánto debe mirar el aspecto detrás.
¿Qué referencia está usando para “aserción hacia atrás debe fijarse longitud”? – Alex
** la aseveración lookbehind no es de longitud fija ** causará falla, ¿no podemos deducirlo de eso? – wamp
¿Qué motor regex estás usando? Perl? DO#? PHP? Hay muchas herramientas que manejan expresiones regulares, y todas tienen sus propias peculiaridades. – Yuliy