[Cascavel-pm] expressão regular

Flavio S. Glock fglock em pucrs.br
Quarta Julho 2 14:52:34 CDT 2003


Alceu R. de Freitas Jr. wrote:
> 
> Olá gente,
> 
> Estou batendo a cabeça com uma expressão regular aqui.
> Eu fiz ela funcionar, só não entendi como. :-)
> 
> Imaginem que tenho isso:
> 
> [texto] [texto] [texto] [texto]
> 
> Eu quero apenas isso: [texto]
> 
> Eu não tenho como saber que texto virá entre chaves,
> apenas quero o último conjunto à direita. A primeira
> vista tentei isso:
> 
> s/\[.*?\]\s\[/\[/g;
> 
> No caso do exemplo, eu fiquei com [texto] [texto].
> Usei a interrogação depois do asterisco para não sair
> pegando tudo o que vier pela frente. Depois de algumas
> tentivas frustadas como:
> 
> s/\([.*?\]\s\[)+/\[/;
> s/\([.*?\]\s\[)+/\[/g;
> 
> Eu resolvi simplesmente tirar a interrogação:
> 
> s/\[.*\]\s\[/\[/g;
> 
> Não é que o desgraçado funcionou? O que aconteceu com
> a  "gulodice" do ".*", que dessa vez não pegou tudo?

Esta ultima expressao deve estar pegando isso:

 [texto] [texto] [texto] [texto] - original

 [ .*                  ]\s[       - match
                         [       - substitui

                         [texto] - resultado

- Flavio S. Glock



Mais detalhes sobre a lista de discussão Cascavel-pm