[Rio-pm] Expressão Regular

Eden Cardim edencardim em gmail.com
Terça Janeiro 6 16:28:53 PST 2009


2009/1/6 Raphael Carpi <raphael.carpi em gmail.com>:
> s/\[.*\]/TROCA/g;

Não é tão simples assim...

Quantificadores são gulosos por padrão:

perl -le'$_="[foo][bar]";s/\[.*\]/TROCA/g;print'

Claro, você pode torná-los não-gulosos:

perl -le'$_="[foo][bar]";s/\[.*?\]/TROCA/g;print'

Mas aí tem outro problema...

perl -le'$_="[[foo]][bar]";s/\[.*?\]/TROCA/g;print'

e outro...

perl -le'$_="[[foo]bar]";s/\[.*?\]/TROCA/g;print'

... ad infinitum ...

E isso porque nem começamos a lidar com html ainda...
É sério, pega um parser no CPAN que é melhor...

-- 
   Eden Cardim       Need help with your Catalyst or DBIx::Class project?
  Code Monkey                    http://www.shadowcat.co.uk/catalyst/
 Shadowcat Systems Ltd.  Want a managed development or deployment platform?
http://edenc.vox.com/            http://www.shadowcat.co.uk/servers/


Mais detalhes sobre a lista de discussão Rio-pm