<span style="font-family: courier new,monospace;">mantovani++ # não sei o que vc andou tomando, mas estou orgulhoso de ver a tua progressão no grupo, saindo daquele 'hacker' de meia-tigela para um membro ativo e que consegue explicar pq uma regex não está funcionando direito .... continue assim que o teu caminho será prospero !!! Vc é mas um exemplo de como o grupo ajuda no desenvolvimento de quem deseja se desenvolver !</span><br>
<br><div class="gmail_quote">Em 25 de abril de 2010 18:27, Daniel de Oliveira Mantovani <span dir="ltr"><<a href="mailto:daniel.oliveira.mantovani@gmail.com">daniel.oliveira.mantovani@gmail.com</a>></span> escreveu:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="im">if( $names =~ m/(?<last_name>\w+) and \w+ \g{last_name}/ ) {<br>
</div>Ele não teria que retornar "Silva Flintstone" e nem ao menos "Silva"<br>
porque dentro do buffer "<foo>" está "Flinstone", logo quando você faz<br>
o backreference \g{last_name},<br>
você está capturando o buffer "<foo"> que é "Flinstone".<br>
<br>
Para o match do seu if ser verdadeiro, você precisa colocar a<br>
backreference no lugar que faça o match, daquele jeito só daria certo<br>
se o buffer fosse Silva.<br>
if ( $names =~ m/(?<last_name>\w+) and \w+ \w+ \g{last_name}/ ) {<br>
<div class="im"> say "I saw $+{last_name}";<br>
}<br>
<br>
</div>[]'s<br>
<div class="im"><br>
<br>
2010/4/25 "Flávio R. Lopes" <<a href="mailto:flavio.lopes@links.inf.br">flavio.lopes@links.inf.br</a>>:<br>
</div><div><div></div><div class="h5">> Pessoal, estou tendo dificuldade em enxergar o funcionamento deste programa:<br>
><br>
> use 5.010;<br>
> my $names = 'Fred Flinstone and Wilma Flinstone';<br>
> if( $names =~ m/(?<last_name>\w+) and \w+ \g{last_name}/ ) {<br>
> say "I saw $+{last_name}";<br>
> }<br>
><br>
><br>
> Se eu alterar a variavel "$names" para:<br>
> my $names = 'Fred Silva Flinstone and Wilma Silva Flinstone';<br>
><br>
> O programa não me retorna mais o sobrenome!!<br>
><br>
> Como Perl faz esta busca?, ou seja, com o *\w* (que busca tudo) e tendo como<br>
> _delimitador_ o "and", ele não teria que me retornar "Silva Flintstone"<br>
> ??...ou pelo menos "Silva" ??<br>
><br>
> Alguém pode me ajudar a enteder este código?<br>
><br>
> Abraço,<br>
> Flávio<br>
><br>
> _______________________________________________<br>
> SaoPaulo-pm mailing list<br>
> <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
> <a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
><br>
<br>
<br>
<br>
</div></div><font color="#888888">--<br>
"If you’ve never written anything thoughtful, then you’ve never had<br>
any difficult, important, or interesting thoughts. That’s the secret:<br>
people who don’t write, are people who don’t think."<br>
</font><div><div></div><div class="h5">_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>"o animal satisfeito dorme". - Guimarães Rosa<br>