--- Em seg, 14/3/11, Bruno Francisco Rodrigues <[email protected]> escreveu:
> De: Bruno Francisco Rodrigues <[email protected]> > Assunto: Regex de IP para acl > Para: "debian-user-portuguese" <[email protected]> > 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 -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

