[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