[SP-pm] Expressões Regulares
Gabriel Vieira
gabriel.vieira at gmail.com
Sun Apr 25 11:47:15 PDT 2010
2010/4/25 "Flávio R. Lopes" <flavio.lopes em links.inf.br>:
> Deixa ver se te explico melhor como vejo a coisa:
> No passo-3 a gente tem: and [seguido de um espaço] \w+ [outro espaço]
> \g{last_name}
> Neste \w+ não estaria compreendido TODOS os caracteres que vão do espaço
> após o "and" até o espaço last_name, ou seja,
Vamos lá, o seu reciocínio está quase correto:
\w -> representa 1 caractere do conjunto [a-z,A-Z,0-9,_] (nota-se que
espaço não está no conjunto).
+ -> 1 ou mais vezes
Logo, \w+ representa uma sequência de 1 ou mais caracteres do conjunto
descrito acima, sem espaços.
> \w+ = [espaço]Wilma[espaço]Silva[espaço]\g{last_name}; onde \g{last_name} =
> Flintstone
Neste exemplo, o \w+ irá capturar o os caracteres do conjunto que
vierem após o espaço após o 'and' e irão até o próximo caractere que
não faz parte do conjunto (no caso, o espaço), sendo assim, ele irá
capturar 'Wilma'.
Como, entre esta captura (Wilma) e $last_name (Flinstone) existe algo
([espaço]Silva) além de espaço (que foi o que você especificou que
conteria na regex), o match irá falhar.
> Vc pode me explicar novamente ?
Tentei :)
Abraços,
--
Gabriel Vieira
More information about the SaoPaulo-pm
mailing list