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 ?
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...
In article <f0n20f$bud$1@biggoron.nerim.net>,
paul POULAIN <paul.poulain_nospam@free.fr.invalid> wrote:
Bonjour, je voudrais analyser une chaine de la forme :
"truc ET machin"
"truc OU machin"
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.
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.