Necesito escribir una función que reciba una cadena y una expresión regular. Necesito comprobar si hay una coincidencia y devolver la ubicación inicial y final de una coincidencia. (La expresión regular ya estaba compilada por qr//
).¿Cómo puedo encontrar la ubicación de una coincidencia de expresiones regulares en Perl?
La función también podría recibir un indicador "global" y luego debo devolver los pares (inicio, fin) de todas las coincidencias.
No puedo cambiar la expresión regular, ni siquiera agregue ()
a su alrededor ya que el usuario podría usar ()
y \1
. Tal vez pueda usar (?:)
.
Ejemplo: dado "ababab" y la expresión regular qr/ab/
, en el caso global necesito recuperar 3 pares de (inicio, fin).
En cuanto a la interpretación de Leon vs mi propia es posible que desee para aclarar si el indicador se corresponde con el modificador/g o cualquier() captura en la expresión regular. –