[Cascavel-pm] Expressoes Regulares

Flavio S. Glock fglock em pucrs.br
Segunda Junho 23 13:52:32 CDT 2003


Tania Jesini wrote:
> 
> Olah, pessoal,
> 
> Estou trabalhando com expressoes regulares, tentanto recuperar titulos,
> subtitulos e conteudos de webpages (um site em particular).
> 
> Gostaria de saber se eh possivel fazer um loop com uma expressao regular
> para recuperar titulo e fazer um loop interno para recuperar o conteudo do
> titulo, que deve escapulir qdo passar por um outro titulo, indo para loop
> mais externo e novamente acessando o loop mais interno.
> 
> Serah q fui muito complexa?
> 
> Meu codigo estah mais ou menos assim...
> 
> while( $text =~ /<h1>(.*)<\/h1>/g ){
>     $titulo = $1;
>     while( $text =~ <p(.*)<\/p>/sg ){
>         $corpo = $1;
>     }
> }
> 
> O problema eh que o loop interno fica ateh o final do texto, mesmo ele
> encontrando pelo caminho outros h1...

Você deve usar .*? em vez de .*
Isso faz a expressão ficar do menor tamanho possível.

- Flavio S. Glock



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