Curso de Raku / Expresiones regulares y gramáticas / Expresiones regulares / Cuantificadores / Exercises / De dos a cuatro dígitos
Solución: De dos a cuatro dígitos
Aquí tienes una posible solución para la tarea.
Código
say 'abc12345' ~~ / \d ** 2..4 /;🦋 Puedes encontrar el código fuente en el archivo two-to-four-digits.raku.
Salida
「1234」Comentarios
\d ** 2..4empareja de dos a cuatro dígitos seguidos.La cadena tiene cinco dígitos disponibles, pero el rango limita la coincidencia a cuatro, así que el patrón toma
1234y deja el5final. Al ser voraz, toma el máximo que el rango permite y no el mínimo.La voracidad solo se aplica dentro de una misma coincidencia: el motor sigue deteniéndose en el primer sitio donde el patrón funciona. Aunque más adelante en la cadena aparezca una serie de dígitos más larga, nunca se alcanza:
say 'abc123def6789012z' ~~ / \d ** 2..4 /; # 「123」
Aquí se empareja
123aunque la serie posterior6789012habría llenado todo el rango con6789. Gana la coincidencia más a la izquierda.