[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Expresão regular para filtar URL



On Tue, 17 Jul 2007 17:01:04 -0300
Junior Polegato - Linux <linux@juniorpolegato.com.br> wrote:

Essa ficou muito boa:
> sed 's/\([^\/\:]*\:\/\/[^\/\:]*\).*/\1/'

> >>> URL
> >>> http://www.itau.com.br/campanhas/bankline/lancamento/detecta_482x192.htm
> >>> https://itaubankline.itau.com.br:443
> >>>
> >>> Resultado: SITE
> >>> http://www.itau.com.br
> >>> https://itaubankline.itau.com.br
> >>>
> >>> Fiz a seguinte expressão regular para usar com o sed:
> >>> sed 's/\w\+:\/\/\(\w\+-\?\w*\.\)\+\w*//' arquivo_com_urls
> >>>
> >  O sed pode ficar mais simples.
> > $ sed s'/br\(.*\)/br/'
> >
>
> E se a URL não tiver br ou um br em outro lugar? Só uma pergunta: por
> que ou para que usam \( e \)?

 O agrupamento foi um atropelo. O br para o exemplo
serve, não sei como são as variações. Mas se for
fácil de ver o padrão, um arquivo com poucas urls,
ainda acho que vale apena isso

o que usei
http://www.itau.com.br/campanhas/br/lancamento/detecta_482x192.htm
https://itaubankline.itau.com.br:443
http://www.itau.com.net/campanhas/bankline/lancamento/detecta_482x192.htm
https://itaubankline.itau.net:443
http://www.itau.org/campanhas/bankline/lancamento/detecta_482x192.htm
https://itaubankline.itau.org:443

o sed 's/\(br\|net\|org\).*/\1/'
http://www.itau.com.br
https://itaubankline.itau.com.br
http://www.itau.com.net
https://itaubankline.itau.net
http://www.itau.org
https://itaubankline.itau.org

 Sobre o atropelamento '\( \)', estava começando a
pensar em algo mais abrangente e cheguei a isso:

sed s'#\(htt\(p\|ps\)://.*\.[a-z]\{2,3\}\)\(/[a-z].*$\|:.*\)#\1#'
Por ser mais clara de ler em um primeiro momento acho boa.

E ai um pouco mais
sed s'#\(\w://.*\.[a-z]\{2,3\}\)\(/\w.*$\|:.*\)#\1#'



 []

--
Herbert Parentes Fortes Neto (hpfn)
Linux user number 416100
0x9834F79E -- http://pgp.mit.edu/

Attachment: pgpj0y9_kpjh2.pgp
Description: PGP signature


Reply to: