Curso de Raku / Expresiones regulares y gramáticas / Expresiones regulares / Anclas / Exercises / Una palabra entera
Solución: Una palabra entera
Aquí tienes una posible solución para la tarea.
Código
say 'this is fine' ~~ /<< is >>/;🦋 Puedes encontrar el código fuente en el archivo whole-word.raku.
Salida
「is」Comentarios
Las anclas
<<y>>exigen un límite de palabra a cada lado deis.Las letras
isestán también dentro dethis, pero ahí no tienen ningún límite de palabra a la izquierda, así que el motor se salta esa aparición y empareja en su lugar la palabra sueltais.Ambas candidatas imprimen el mismo
「is」, así que ¿cómo sabes cuál coincidió realmente? Cambia elisescondido dentro dethis, por ejemplo convirtiendo la cadena en'thus is fine'. La salida sigue siendo「is」, sin cambios, lo que demuestra que esa aparición nunca fue la coincidencia. Ahora cambia en cambio la palabra suelta (digamos'this it fine') y la coincidencia desaparece (Nil). También puedes preguntarle a la coincidencia dónde empieza:('this is fine' ~~ /<< is >>/).fromdevuelve5, la posición delissuelto, y no2.