Curso de Raku / Expresiones regulares y gramáticas / Expresiones regulares / Emparejar cadenas
El operador de emparejamiento inteligente
El operador que aplica un regex a una cadena es el emparejamiento
inteligente ~~:
say 'the cat sat' ~~ /cat/; # 「cat」Un patrón escrito entre barras es la forma más común, pero hay dos más que significan lo mismo y a veces resultan más claras:
say 'the cat sat' ~~ m/cat/; # 「cat」
say 'the cat sat' ~~ rx/cat/; # 「cat」La forma m/.../ recalca que estás emparejando,
y resulta cómoda cuando quieres añadir opciones a la coincidencia
(conocerás esas opciones, llamadas adverbios, más adelante). La
forma rx/.../ construye un valor de regex sin aplicarlo
todavía.
Muy a menudo solo te importa si la cadena coincidió, no qué se
encontró exactamente. Como una coincidencia lograda es un valor
verdadero y una fallida es falsa, puedes usar el resultado directamente
en un contexto booleano. La manera más limpia de obtener un
True o False simple es la función
so:
say so 'the cat sat' ~~ /cat/; # True
say so 'the cat sat' ~~ /dog/; # FalseEsto convierte un regex en una condición natural para un
if:
if 'the cat sat' ~~ /cat/ {
say 'found it'; # found it
}Práctica
Resuelve 1 cuestionario sobre el contenido de este tema.
Navegación del curso
← Emparejar cadenas | Quiz — Smartmatch →
💪 O ve directamente a los ejercicios de esta
sección.