Aide regular expression

Résolu/Fermé
serjjj - 30 janv. 2017 à 18:55
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 - 1 févr. 2017 à 07:03
Bonjour,

dans cette exemple:


http://com.exemple/123/
http://exemple.com/123/
http://www.exemple.com/123/
http://exemple.com.fr/123/
http://exemple.info/exemple.com/666/
http://exemple.com/123
http://exemple.com/123.html
http://exemple.com/123/456/
http://exemple.com/1/2/3/
http://exemple.com/789/
http://exemple.com/123/a
http://exemple.com/123/12
http://exemple.com/1234/
http://exemple.net/123/
http://exemple.net/456/
http://exemple.org/123/
http://exemple.org/
http://exemple.org/1/
http://exemple.org/abc/
http://exemple.org/12a/
http://exemple.org/456/

via regular expression, comment ne sélectionner que les urls avec nom de domaine .com ou .org suivi par trois nombres et fini par une slash /
  • (com|org)
  • d{3}
  • /$

urls valide :

http://exemple.com/123/
http://www.exemple.com/123/
http://exemple.com/789/
http://exemple.org/123/
http://exemple.org/456/

Merci.
A voir également:

2 réponses

Utilisateur anonyme
30 janv. 2017 à 19:56
echo "$url" | grep -E 'http:\/\/(www\.)?exemple\.(com|org)\/[0-9]{3}'\/$
http://exemple.com/123/
http://www.exemple.com/123/
http://exemple.com/789/
http://exemple.org/123/
http://exemple.org/456/
0
C'est parfait pour moi, merci :)

Si ce n'est pas trop demander, comment tester sur le site https://regex101.com/
0
Utilisateur anonyme
30 janv. 2017 à 21:16
"Si ce n'est pas trop demander, comment tester sur le site https://regex101.com/


Il y a juste un petit soucis avec la fin de ligne apparemment, donc j'ai ajouté (\n|$) pour dire qu'on a soit une fin de ligne, soit un retour à la ligne :


0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 928
30 janv. 2017 à 21:40
Salut,

tu peux remplacer [0-9] par \d
http:\/\/(www\.)?exemple\.(com|org)\/\d{3}\/\n|$


0
@Rocailleux, @Whismeril, Je suis satisfait :) Encore merci, merci pour vos réponses.
0
smed_79 Messages postés 1288 Date d'inscription dimanche 21 septembre 2008 Statut Contributeur Dernière intervention 17 mars 2017 843
1 févr. 2017 à 00:32
> Il y a juste un petit soucis avec la fin de ligne apparemment

@Rocailleux Utiliser l'option (flag) multi line.

0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 928
1 févr. 2017 à 07:03
Bonjour smed,
au départ je me suis fais la même réflection, mais....

Rocailleux n'a pas développé, sa première syntaxe acceptait http://exemple.com/123/a et http://exemple.com/123/12 donc pour s'en affranchir il a spécifié qu'ensuite il y a soit une fin de ligne soit la fin du texte.
Et du coup, pas besoin de l'option multi ligne.
0