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

Re: Regex de IP para acl



--- Em seg, 14/3/11, Bruno Francisco Rodrigues <brunofranrodrigues@gmail.com> escreveu:

> De: Bruno Francisco Rodrigues <brunofranrodrigues@gmail.com>
> Assunto: Regex de IP para acl
> Para: "debian-user-portuguese" <debian-user-portuguese@lists.debian.org>
> Data: Segunda-feira, 14 de Março de 2011, 10:54
> Bom dia lista.
> Gostaria de saber se alguém pode me ajudar com uma regex
> de IP
> É esta que esta ai:
> 
> ^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})|\/[0-9]{2}?$/
> 
> A idéia basicamente é casar “IP/MASCARA” e casar
> somente “IP” mais
> nunca casar “IP/” pois o uso seria em um CGI para
> adicionar ips a um
> acl do squid.
> E caso eu adicione um ip assim 192.168.100.2/ e der restart
> no serviço
> ela vai xiar em razão da syntax do IP.
> 
> Fico no aguardo.
> 
> Att
> -- 
> Bruno F. Rodrigues
> +55 11 66583064
> 
> 

Olá! 
Não entendi muito bem o que você precisa. Seria algo como (A) ou seria como (B)? 


==========(A)==========
#!/usr/bin/perl
use strict;
use warnings;

my $ip=shift();
if ($ip =~ m/((^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})|\/[0-9]{2}))(?=$)/g)
{
print " casou: $ip\n"
}
else
{
print "nao casou: $ip: \n";}
==========(A)==========

==========(B)==========
#!/usr/bin/perl
use strict;
use warnings;

my $ip=shift();
if ($ip =~ m/((^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})|\/[0-9]{2}))/g)
{
$ip =~ s/(^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})|\/[0-9]{2}).*/$1/g;
print "$ip\n"
}
==========(B)==========

[ ]s, Henry










Reply to: