Aller au contenu

Sujets conseillés

Posté

Bonjour,

Besoin d'un coup de main pour une regex.

1 blabla bla

1. -http://www.sartim-internet.com/

2. -http://pixeltrame.com/blog/

4. -http://www.rtum.com

5. -http://fatalz.com/

25. -http://blartz.com/

98- -http://www.traiaman.co.co

99- -http://blank.blogspot.com

100- -http://allinhome.com/

101- -http://www.bootca.com/blog/

Je voudrais obtenir ça (bon, s'il reste la première ligne je prends quand même !) :

-http://www.sartim-internet.com/

-http://pixeltrame.com/blog/

-http://www.rtum.com

-http://fatalz.com/

-http://blartz.com/

-http://www.traiaman.co.co

-http://blank.blogspot.com

-http://allinhome.com/

-http://www.bootca.com/blog/

Voilà ma regex (([0-9]*)(\s|-\s))|([0-9]*)\. mais elle prend en compte tous les points ! :(

Help! :)

PS : les tirets avant les http ne sont mis ici que pour éviter de créer les liens hypertextes ; faire comme s'ils n'existaient pas pour la regex. ;)

Posté

Ouais, c'est pas bête, mais à vrai dire je cherchais à comprendre pourquoi tous les points étaient pris en compte.

Ceci dit, je ne vois pas où sont mentionnés les espaces dans ta regex Marc.

Posté

j'ai mis un espace "simple" à la fin de la première parenthèse capturante. On pourrait aussi mettre un "\s", mais en faisant attention de traiter chaque ligne séparément.

Sinon, que veux-tu dire par "elle prend en compte tous les points" ?

Posté

Ok, je m'attendais effectivement à voir \s. ;)

Voilà pour les points, cf ci-dessous, ils sont tous en rouge, ce qu'il signifie qu'ils matchent avec la regex. Plop!

mini_350088captureregex.png

Est-ce assez clair ? :)

Posté

Alors, la regex la plus simple qu'on puisse faire là-dessus, serait sans nul doute :

#(http.*)#

(On récupère tout ce qui commence par http)

Quant à la tienne, je n'avais pas compris que tu souhaitais supprimer les contenus correspondant au motif ;)

On pourrait envisager une regex de ce genre :

#([0-9]+[\.|-]?\s*)#

(On récupère tout ce qui est un ou plusieurs chiffres, suivis éventuellement par un point ou un tiret, ainsi que par un nombre indéterminé d'espaces).

[font=verdana,]http://lumadis.be/regex/test_regex.php?id=673

Posté

Merci pour ton aide et tes explications très complètes Marc ! :thumbsup: A relire, avec ta description, ça semble simple comme ça. :)

Posté (modifié)

Si vous recherchez une regex plus restrictive pour une URL, vous pouvez aussi utiliser celle-ci qui est assez répandue et qui permet l'insertion d'un numéro de port dans la requête.

http://([^/:]+(\d+))?)(/.*)?

Cela permet par exemple http://www.domain.co.uk:8181/pathto/file?p=42, sans pour autant laisser filtrer certains URLs incorrectes.

Modifié par Patrick
La publicité est interdite sur le Hub

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...