next up previous contents index practicapracticaPP2moodleLHPmoodlepserratacpanmodulospauseperlgoogleetsiiullpcgull
Sig: Algunas extensiones Sup: Expresiones Regulares Ant: RegExp no ``Greedy'' Err: Si hallas una errata ...

Negaciones y operadores no greedy

No siempre se puede usar un operador greedy en sustitución de una clase negada. En este ejemplo se intentan detectar las cadenas entre comillas dobles que terminan en el signo de exclamación:
> cat negynogreedy.pl
#!/usr/bin/perl

 $b = $a = 'Ella dijo "Ana" y yo contesté: "Jamás!". Eso fué todo.';
 $a =~ s/".*?!"/-$&-/;
 print "$a\n";
 $b =~ s/"[^"]*!"/-$&-/;
 print "$b\n";

> negynogreedy.pl
Ella dijo -"Ana" y yo contesté: "Jamás!"-. Eso fué todo.
Ella dijo "Ana" y yo contesté: -"Jamás!"-. Eso fué todo.


next up previous contents index practicapracticaPP2moodleLHPmoodlepserratacpanmodulospauseperlgoogleetsiiullpcgull
Sig: Algunas extensiones Sup: Expresiones Regulares Ant: RegExp no ``Greedy'' Err: Si hallas una errata ...
Casiano Rodríguez León
2006-02-21