pregunta de Noob aquí. Tengo una muy simple script en Perl y quiero que la expresión regular para que coincida con múltiples partes en la cadena deCoincidencia de una expresión regular varias veces con Perl
my $string = "ohai there. ohai";
my @results = $string =~ /(\w\w\w\w)/;
foreach my $x (@results){
print "$x\n";
}
Esto no está funcionando de la forma que yo quiero, ya que sólo devuelve ohai. Me gustaría que coincida e imprima ohai ther ohai
¿Cómo voy a hacer esto.
Gracias
+1. respuesta correcta. Necesitas el modificador 'g' al final de tu expresión regular. – Spudley
gracias! Supongo que necesitaba mirar más de cerca los documentos para ese/g –
. Es útil tener en cuenta que en "foreach", un "print $ 1" solo imprimirá el último "Ohai" cada vez que haya una coincidencia de patrón (es decir, 3 veces). Por lo tanto, "mientras" parece ser la mejor opción cuando tienes un patrón con varios elementos. –