Curso de Raku / Expresiones regulares y gramáticas / Expresiones regulares / Literales y clases de caracteres
Emparejar texto literal
El patrón más sencillo es una secuencia de letras y dígitos. Un patrón así empareja exactamente esos caracteres, en ese orden, en cualquier punto de la cadena:
say 'the cat sat' ~~ /cat/; # 「cat」
say 'Hello' ~~ /ell/; # 「ell」La coincidencia no tiene por qué empezar al principio de la cadena: el motor de regex busca el patrón en cada posición hasta encontrarlo.
Una coincidencia lograda produce un objeto Match. Ese
「cat」 del primer ejemplo es el aspecto que tiene un objeto
así al imprimirse: say muestra un Match como
el texto que emparejó, envuelto en las esquinas 「 」. Si el
patrón no está presente, la coincidencia falla: el emparejamiento
inteligente produce Nil, un valor no definido que cuenta
como falso en una prueba booleana:
say ('the cat sat' ~~ /dog/); # Nil
say ('the cat sat' ~~ /dog/).Bool; # FalseDentro de un regex, los espacios no son
significativos por omisión: están ahí solo para hacer legible el patrón.
Así que / ell / empareja exactamente lo mismo que
/ell/; los espacios de alrededor simplemente se
ignoran:
say 'Hello' ~~ / ell /; # 「ell」Como un espacio del patrón se ignora, emparejar un espacio de verdad requiere comillas: todo lo que pongas entre comillas se empareja literalmente. Esas mismas comillas son también la forma de emparejar un signo de puntuación que de otro modo tendría un significado especial en un regex:
say 'a b' ~~ / 'a b' /; # 「a b」
say 'price: $5' ~~ / '$' /; # 「$」(Para los espacios en blanco también puedes usar la clase
\s, que conocerás enseguida.)
Navegación del curso
← Literales y clases de caracteres | Clases de caracteres →
💪 O ve directamente a los ejercicios de esta
sección.