¿Por qué mi expresión regular de Perl no codiciosa aún coincide demasiado?
Diga, tengo una línea que contiene la siguiente cadena:
"$tom" said blah blah blash. "$dick" said "blah blah blah". "$harry" said blah blah blah.
y quiero extraer
"$dick" said "blah blah blah"
Tengo el siguiente código:
my ($term) = /(".+?" said ".+?")/g;
print $term;
Pero me da más de lo que necesito:
"$tom" said blah blah blash. "$dick" said "blah blah blah"
Intenté agrupar mi patrón como un todo utilizando los parámetros que no capturan:
my ($term) = /((?:".+?" said ".+?"))/g;
Pero el problema persiste.
Volví a leer la sección de Nongreedy Quantifiers de Learning Perl, pero hasta ahora no me ha llevado a ningún lado.
Gracias por cualquier orientación que pueda ofrecer generosamente :)