shell-script-pt
[Top][All Lists]
Advanced

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

Re: [shell-script] regexp para extrair domínio de uma URL


From: Julio C. Neves
Subject: Re: [shell-script] regexp para extrair domínio de uma URL
Date: Tue, 3 Nov 2009 12:13:15 -0200

Fala Cristiano,
no pastebin vc colocou assim:

((coop|blog|radio|flog|vlog|wiki|taxi)|([[:alpha:]]{3}))\.
para fazer o que vc quer, basta tornar todo este bloco opcional. E para
isso, basta:
(((coop|blog|radio|flog|vlog|wiki|taxi)|([[:alpha:]]{3}))\.)?

OBS: Assim como vc descreveu TDL possíveis, eu faria o mesmo para os
prefixos. Assim eu trocaria o [[:alpha:]]* inicial, por:

(www|...)

Abraços,
Julio
Cursos de Shell e Zenity em 2 fins de semana?
- Em SP ligue (11) 2125-4747;
- Em DF ligue (61) 3223-3000;
- No RJ ligue (21) 2561-0867;
- Turmas fechadas em outras cidades ligue (21) 8112-9988.


2009/11/3 Cristiano <address@hidden>

>
>
> Senhores, antes de mais nada, postei uma mensagem que trata do mesmo
> problema deste post na lista linux-board (
> http://br.groups.yahoo.com/group/linux-board/message/29140).
>
> Por favor, não considerem cross-posting pois, embora o problema seja o
> mesmo, a solução é diferente.
>
> Lá eu informo que estou tentando implementar acl externas no squid, à
> partir de um lista no MySQL, usando um shell script para casar (ou não) o
> tráfego.
>
> O problema é que o squid só tem a opção de repassar para scrit o endereço
> completo do host e não apenas o nome do domínio. E, nos dados das listas,
> está armazenado apenas o nome do domínio. Para quem não eu o post lá, um
> exemplo. Nas blacklists eu tenho o domínio 'playboy.com', mas na hora de
> filtrar o tráfego, recebo do squid 'www.playboy.com'.
>
> Assim, dificilmente o tráfego casa com a blakclist. No post da linux boad
> eu questiono se alguém sabe como fazer o squid me passar apenas o do domínio
> ao invés do host inteiro, pois não quero aumentar o processamento fazendo o
> script extrair o domínio da string com o host.
>
> Porém, na falta de solução deste modo, vou usar uma regexp para extraí-lo.
>
> É aí que vocês podem me ajudar. Inicialmente, construí a seguinte ER:
>
> [[:alpha:]]*.[[:alpha:]]{0,3}\.?[[:alpha:]]{0,2}$
>
> Muito boa. Casa tanto domínios sem a raiz do país (como globo.com), como
> com raiz do pais (como uol.com.br).
>
> O problema são os domínios de universidades, que somente possuem um TLD, a
> raiz do país.
>
> Por exemplo, www.usp.br, deveria retornar apenas 'usp.br' mas a regex casa
> com 'www.usp.br'. Em outro extremo, www.ufmt.br ou www.cesumar.br,
> deveriam retornar apenas 'ufmt.br' ou 'cesumar.br', mas não retornam nada,
> pq o segundo bloco (de tras para frente) deve ter 3 caracteres alfa para
> contemplar o domínio raiz.
>
> Alguém pode me ajudar a melhorar esta ER?
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]