C’est exactement pour ce genre de cas que j’aurai voulu avoir des exemples supplémentaires dès le début
Prenons ton exemple qui devrait être true :
VG S-1 – VG
Dans celui-ci j’ai deux fois VG mais lequel devrait être pris en compte ?
Le 1er ou le second ?
Imaginons que tu me dises qu’on doit prendre en compte le premier VG pour ce faire, tu vas devoir indiquer que ta ligne commence par ton match donc on va utiliser le symbole “^”
Ce qui donne :
<div>”^(G?VG|OP[1-4])”</div>
<div> </div>
<div>Maintenant dans le cas où tu me dirais : C’est le second qui compte et mon texte doit donc finir absolument par mes mots de match alors on utiliserait le symbole “$”</div>
<div>Ce qui donne :</div>
<div>
<div>
<div>”(G?VG|OP[1-4])$”</div>
<div> </div>
<div>Par contre, si tu nous dis que ton texte peut contenir ce que tu cherches à match mais pas que</div>
<div>Exemple : GVGs-1 S-1 – VG etc etc</div>
</div>
</div>
Ici, on voit qu’on a bien notre VG mais qu’il est précédé et suivi de texte dès lors on va l’indiqué de cette manière :
<div>IsMatch(“GVGs-1 S-1 – VG etc etc”;”\s(G?VG|OP[1-4])\s”;MatchOptions.Contains)</div>
L’utilisation de “\s” permet d’indiquer qu’avant et après notre mot à match (en l’occurence ici “VG”) il doit y avoir des espaces.
Ceci évite d’avoir de faux positifs avec testVG, VGtest voir testVGtest
Pour finir, si tu as comme texte : GVGs-1 – VG
Et que tu voudrais match donc sur le 1er mot, tu vas devoir donc faire
<div>
“^(G?VG|OP[1-4])\s”
Ainsi, tu indique au moteur de regex qu’il doit commencer par ton mot et que ton mot doit être suivi d’un espace.
Ceci évitera justement d’avoir un faux positif avec GVGs-1.
Pour le cas, ou tu veux match sur ton dernier mot donc : VG – GVGs-1
Tu vas devoir inverser l’exemple ci-dessus de cette manière :
“\s(G?VG|OP[1-4])$”
Tu indique au moteur de recherches que tu as besoin d’un espace, suivi de ton mot à match et plus rien après.
Voilà, j’ai essayé d’être un maximum exhaustif avec les données que tu m’as fourni.
En espérant que cela puisse t’aider.
</div>
-
This reply was modified 5 days, 6 hours ago by Nelson.
-
This reply was modified 5 days, 6 hours ago by Nelson.