[MASOCH-L] Expressão regular para extensão de arquivo de um link

Leandro Carlos Rodrigues leandro at allchemistry.com.br
Wed Jan 26 17:01:39 BRST 2011


Ok Henrique,

Consegui este script em Perl para extrair URL's de um HTML:

    #!/usr/bin/perl
    use HTML::SimpleLinkExtor;
    my $file = new HTML::SimpleLinkExtor();

    # Extracts Links from a HTML File
    # Written by Vaibhav Gupta guptav at cse.iitb.ac.in
    $filename = $ARGV[0];
    $url = $ARGV[1]; #base url else empty string

    if($filename eq "" ) {
    print "\nUsages: ./extractlink.pl filename.html\n";
    exit ;
    }

    $file->parse_file($filename);
    my @links= $file->a;
    foreach $link (@links){
    chomp;
    print "$url$link\n";
    }

Não manjo muito de Perl. Você consegue fazer a normalização das URL's? O 
UNICODE já está ok.

Atenciosamente,

*Leandro Carlos Rodrigues
TI - All Chemistry do Brasil Ltda.
(11) 3014-7100
*

Em 26/01/2011 16:45, Leandro Carlos Rodrigues escreveu:
> Preciso formular uma expressão regular que determine se em uma lista 
> de URL's existe uma determinada extensão de arquivo.
> Por exemplo, se a lista estiver separada por quebra de linha (\n) da 
> seguinte forma:
>
> http://www.example.com/file,asp?category=hats&prodID=53
> http://www.example.com/file,com?category=hats&prodID=53
> http://www.example.com/file,exe?category=hats&prodID=53
> http://www.example.com/file,asp
> http://www.example.com/file,com
> http://www.example.com/file,exe
> http://www.example.com
>
> Se eu quero a achar os arquivos .com e .exe. Ele retorna o seguinte 
> resultado:
>
> *falso*: http://www.example.com/file,asp?category=hats&prodID=53
> *verdadeiro*: http://www.example.com/file,com?category=hats&prodID=53
> *verdadeiro*: http://www.example.com/file,exe?category=hats&prodID=53
> *falso*: http://www.example.com/file.asp
> *verdadeiro*:http://www.example.com/file,com
> *verdadeiro*: http://www.example.com/file,exe
> *falso*: http://www.example.com
>
> A ideia é que a expressão não confunda o .com do domínio com o .com do 
> arquivo.
> Procurei a solução pela internet mas não encontrei uma que faça 
> exatamente o que eu quero.
> Alguém consegue me ajudar?
>
> Atenciosamente,
>
> *Leandro Carlos Rodrigues
> TI - All Chemistry do Brasil Ltda.
> (11) 3014-7100
> *


More information about the masoch-l mailing list