Bonjour,
je me fais des noeuds au cerveau sur une regex pourtant à priori pas si compliqué. J'ai trouvé une solution boiteuse. Je fais donc appel à vos connaissances pour m'aider à faire mieux. Si ce n'est pas possible tant pis
Je reçois une chaine contenant x URL. La seule chose dont je suis sûr est que chacune commence par http://.
Ex:
La solution PHP de base aurait été de faire un split selon la séquence 'http://' et de reconstruire mes URLs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part http://monurl.comhttp://monurl.com2http://monurl.com3http://monurl.com
Ma solution RegEx :
En gros ce quelle fait est d'extraire la chaîne "http://monurl.comhttp://" et avec le jeu des parenthèses capturantes, je récupère l'URL, mais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part (http://(.*?))(?:http://)
1- je trouve ça moyen
2- la dernière URL n'est pas prise en compte puisqu'il n'y a pas de http:// qui suit.
Mon problème est plus général. Je n'arrive à dire que la fin d'une chaîne est une chaîne exclue. Ce que je fais très bien avec un caractère via ce genre de syntaxe : [^;] (tout sauf un
merci
Cordialement
Partager