Curso de Raku / Expresiones regulares y gramáticas / Expresiones regulares / Aserciones de contexto
Lookbehind
Un lookbehind comprueba lo que viene inmediatamente antes de la posición actual:
<?after …>— funciona si el texto anterior coincide (lookbehind positivo)<!after …>— funciona si el texto anterior no coincide (lookbehind negativo)
Esto te permite emparejar algo solo por lo que lo precede, sin
incluir ese prefijo en el resultado. Por ejemplo, captura los dígitos
que siguen a un signo de dólar dejando el $ fuera de la
coincidencia:
if '$100' ~~ / <?after '$'> \d+ / {
say $/; # 「100」
}La aserción <?after '$'> exige un $
justo antes de la posición actual, y después \d+ empareja
los dígitos. La coincidencia es 100, sin el signo de
dólar.
El lookahead y el lookbehind se combinan a menudo. Un fragmento de
texto envuelto en <?after …> y
<?before …> coincide solo cuando está entre los
vecinos exigidos, una forma cómoda de extraer un valor de un contexto
conocido.
Práctica
Resuelve 1 cuestionario sobre el contenido de este tema.
Navegación del curso
← Quiz — Lookahead | Quiz — Aserciones →
💪 O ve directamente a los ejercicios de esta
sección.