Bonjour à tous,
Je bute depuis quelques jours pour arriver à mes fins.
Mon objectif : extraire un mot particulier (ici le mot "champ") entouré par des guillemets et répondant à certains critères qui sont :
- le mot peut être précédé d'un point, d'un espace ou rien
- le mot peut être suivi du signe =, d'un espace ou rien
Pour le moment, j'ai construit ce motif qui répond partiellement à mes attentes
Motif : (?<=").*?[\s|\.]?(champ)[\s|\=].*?(?=")
Pour illustrer, voici quelques tests (en gras, les mots matchés) :
Exemple 1 : "where a.champ = b.champ" ==> OK mais seul le 1er mot "champ" est matché; je voudrais également le 2ème
Exemple 2 : "table_champ_L" ==> OK
Exemple 3 : $champ="blabla" ==> OK
Exemple 4 : "champ = b.champ" ==> OK mais seul le 1er mot "champ" est matché; je voudrais également le 2ème
Exemple 5 : champ:="5" ==> OK
Exemple 6 : " champ = " + champ_L ==> OK
Exemple 7 : "champ = " + champ_L ==> OK
Exemple 8 : "champ= " + champ_L ==> OK
Exemple 9 : "champ" + champ_L ==> KO je voudrais que le 1er mot champ soit également matché
Avez-vous une idée ?
Merci
Cordialement,
Maxime
Partager