Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[regex] sur http...

5 réponses
Avatar
apolloj
Bonjour,

J'ai des urls de ce type :

http://@ip/blabla

ou http://@ip:port/glouglou

Je n'arrive pas (hou!!!) =E0 extraire @ip en une ligne regex.

Mer=E7i de votre aide.

5 réponses

Avatar
Thomas vO
bonjour,

À (at) Wed, 21 Oct 2009 02:07:39 -0700 (PDT),
apolloj nous disait (told us):
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 - <http://perso.enstimac.fr/~vanouden/>
Avatar
Denis Dordoigne
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
Avatar
Stephane CHAZELAS
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
Avatar
apolloj
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


Avatar
Paul Gaborit
À (at) Wed, 21 Oct 2009 02:07:39 -0700 (PDT),
apolloj écrivait (wrote):
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 - <http://perso.mines-albi.fr/~gaborit/>
Perl en français - <http://perl.mines-albi.fr/>