[regex] sur http...
Le
apolloj
Bonjour,
J'ai des urls de ce type :
http://@ip/blabla
ou http://@ip:port/glouglou
Je n'arrive pas (hou!!!) à extraire @ip en une ligne regex.
Merçi de votre aide.
J'ai des urls de ce type :
http://@ip/blabla
ou http://@ip:port/glouglou
Je n'arrive pas (hou!!!) à extraire @ip en une ligne regex.
Merçi de votre aide.

Poser une question


À (at) Wed, 21 Oct 2009 02:07:39 -0700 (PDT),
apolloj
comme ça :
my $a = 'http://@ip:65535/glouglou';
my $b = 'http://@ip/glouglou';
$a =~ s/^http:/{2}(.*?)(:d+)?/.*$/$1/;
$b =~ s/^http:/{2}(.*?)(:d+)?/.*$/$1/;
print "$a - $b n";
?
--
Thomas vO -
> Je n'arrive pas (hou!!!) à extraire @ip en une ligne regex.
my ($ip) = $url =~ m/^http://([0-9.]+)/;
--
Denis Dordoigne
Membre de l'April - promouvoir et défendre le logiciel libre - april.org
Rejoignez maintenant plus de 5 000 personnes, associations,
entreprises et collectivités qui soutiennent notre action
[...]
my ($ip) = $url =~ m{http://([^:/]*)};
--
Stéphane
Le dernier est ASSEZ FORT : my ($ip) = $url =~ m{http://([^:/]*)}; !
On 21 oct, 13:05, Stephane CHAZELAS wrote:
apolloj
Pourquoi ne pas utiliser le module URI qui est fait pour ça :
use URI;
my $uri = URI->new("http://www.perl.com:80");
print $uri->host(), "n";
L'avantage, c'est que ça traitera tous les cas même ceux auxquels vous
n'avez pas encore pensé. Ex:
http://:345/
--
Paul Gaborit - Perl en français -