<div dir="ltr">Minimo...<br><br><div class="gmail_quote">2008/8/26  <span dir="ltr">&lt;<a href="mailto:fernandolouis@terra.com.br">fernandolouis@terra.com.br</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Esqueci de perguntar...<br>
e o &quot;*?&quot; ?<div class="Ih2E3d"><br>
<br>
----- Original Message ----- From: &quot;Wendel Scardua&quot; &lt;<a href="mailto:wendelscardua@gmail.com" target="_blank">wendelscardua@gmail.com</a>&gt;<br>
To: &quot;Cascavel Perl Mongers&quot; &lt;<a href="mailto:cascavel-pm@pm.org" target="_blank">cascavel-pm@pm.org</a>&gt;<br></div>
Sent: Tuesday, August 26, 2008 10:49 AM<div class="Ih2E3d"><br>
Subject: Re: [Cascavel-pm]coincidência de padrões e um lugar específico numa string<br>
<br>
<br></div><div><div></div><div class="Wj3C7c">
Resposta curta: RTFM, aka &quot;perldoc perlre&quot; :-)<br>
<br>
Resposta longa:<br>
<br>
(? normalmente não é algo válido, então essa expressão é usada para<br>
algumas especiais (condicionais, recursividade, look-forward, etc...)<br>
<br>
No caso, a expressão é (?: .... ) , que é um grupo-que-não-captura.<br>
<br>
Normalmente, você usa os parênteses pra &quot;capturar&quot; a ocorrência<br>
(armazenando-a em $1, $2, etc... ). Mas às vezes você quer agrupar uma<br>
parte da regexp só pra aplicar uma operação, como em:<br>
/foo(\d+lerolero)*bar/ . Aqui, você pode não estar interessado em<br>
colocar o match de &quot;\d+lerolero&quot; em $1, você só queria aplicar o &quot;*&quot;<br>
naquele trecho - sem falar que essa captura é mais ineficiente. Então<br>
você usa o (?: ... ) pra agrupar:<br>
<br>
/foo(?:\d+lerolero)*bar/<br>
<br>
Além disso, o (?: ) permite a você passar algumas opções de regexp<br>
apenas praquele trecho ( como o /i pra ser case-insensitive, ou /s pro<br>
&quot;.&quot; casar com quebra de linha, etc...):<br>
<br>
/foo(?i:.+lerolero)*bar/<br>
<br>
Ou ainda tirar essas opções do trecho (ou ao mesmo tempo habilitar<br>
coisas e desabilitar coisas):<br>
<br>
/foo(?s-i:.+lerolero)*bar/i<br>
<br>
E, claro, perldoc perlre para mais informações. :-)<br>
<br>
[]s<br>
Wendel<br>
<br>
2008/8/26 &nbsp;&lt;<a href="mailto:fernandolouis@terra.com.br" target="_blank">fernandolouis@terra.com.br</a>&gt;:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
*? e (?<br>
<br>
O &quot;?&quot; é um quantifdicador nessa expressão? Desconnheço outra função do &quot;?&quot;<br>
se não esta.<br>
<br>
</blockquote>
_______________________________________________<br>
Cascavel-pm mailing list<br>
<a href="mailto:Cascavel-pm@pm.org" target="_blank">Cascavel-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/cascavel-pm" target="_blank">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>
<br>
_______________________________________________<br>
Cascavel-pm mailing list<br>
<a href="mailto:Cascavel-pm@pm.org" target="_blank">Cascavel-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/cascavel-pm" target="_blank">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Just another Perl Hacker,<br>Fernando (SmokeMachine)<br><a href="http://perl-e.org">http://perl-e.org</a><br>
</div>