pb d'expression régulière

Le
paul POULAIN
Bonjour, je voudrais analyser une chaine de la forme :
"truc ET machin"
"truc OU machin"

pour identifier les 3 parties de l'équation.
Ca je sais faire : /(.*)( ET | OU )(.*)/ marche bien

Mais ca se complique lorsque je veux pouvoir gérer les quotes pour permettre
d'analyser :
"'truc et chose' ET machin"
et obtenir : "truc et chose" / ET / "machin"
/("?.*"?)( ET | OU )("?.*"?)/ ne fonctionne évidemment pas, vu que la " est
facultative.
Y a t'il un moyen de faire ca avec une expression régulière ?

Merci
--
Paul
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
espie
Le #143341
In article paul POULAIN
Bonjour, je voudrais analyser une chaine de la forme :
"truc ET machin"
"truc OU machin"

pour identifier les 3 parties de l'équation.
Ca je sais faire : /(.*)( ET | OU )(.*)/ marche bien

Mais ca se complique lorsque je veux pouvoir gérer les quotes pour permettre
d'analyser :
"'truc et chose' ET machin"
et obtenir : "truc et chose" / ET / "machin"
/("?.*"?)( ET | OU )("?.*"?)/ ne fonctionne évidemment pas, vu que la " est
facultative.


Un truc du genre:
/(".*?"|.*)s+(ET|OU)s+(".*?"|.*)/
devrait mieux correspondre. Apres, il faut plus de contexte pour savoir
ce que tu veux faire precisement.

Je te conseille quand meme de relire perlre...

Publicité
Poster une réponse
Anonyme