[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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Thomas vO
Le #20392261
bonjour,

À (at) Wed, 21 Oct 2009 02:07:39 -0700 (PDT),
apolloj
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.



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 -
Denis Dordoigne
Le #20392681
Bonjour,

> 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
Stephane CHAZELAS
Le #20392971
2009-10-21, 02:07(-07), apolloj:
[...]
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.



my ($ip) = $url =~ m{http://([^:/]*)};



--
Stéphane
apolloj
Le #20393521
Merçi à tous !
Le dernier est ASSEZ FORT : my ($ip) = $url =~ m{http://([^:/]*)}; !


On 21 oct, 13:05, Stephane CHAZELAS wrote:



2009-10-21, 02:07(-07), apolloj:



[...]

> 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.

my ($ip) = $url =~ m{http://([^:/]*)};

--
Stéphane


Paul Gaborit
Le #20395411
À (at) Wed, 21 Oct 2009 02:07:39 -0700 (PDT),
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.



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 -
Publicité
Poster une réponse
Anonyme