[Cascavel-pm] Regexp "greediness" (era: Quando *não* usar Perl?)
Nelson Ferraz
nferraz em gmail.com
Segunda Janeiro 29 08:31:07 PST 2007
Fernando Oliveira wrote:
> Sorry... i dont speak english...
Por isso estamos nos esforçando para traduzir a documentação de Perl:
http://www.perl.org.br/bin/view/Perldoc/
Com relação à expressão "greediness", concordo que não é uma palavra
fácil. Vem do inglês "greed", "cobiça".
Aplicada às expressões regulares, significa que os quantificadores são,
por padrão, "cobiçosos" -- isto é, tentam capturar o máximo possível --
a não ser que você use o ponto de interrogação, para torná-lo "não
cobiçosos":
my $sentence = "xyzzy";
$sentence =~ /x(.*)y/; # greedy
print "'$1'\n"; # retorna: 'yzz'
$sentence =~ /x(.*?)y/; # non-greedy
print "'$1'\n"; # retorna: ''
[]s
Nelson
--
Nelson Corrêa de Toledo Ferraz
Free Software Foundation Associate Member #3203
Sociedade Perl do Brasil (www.perl.org.br)
Rede Livre de Compartilhamento de Cultura Digital
Mais detalhes sobre a lista de discussão Cascavel-pm