Scenario utilisation de la fonction "matches" ? (Vérifier se termine par)

Bonjour à tous,

Je reprends un sujet clos sur l’utilisation de « matches » qui permet de base de vérifier si une donnée contient une séquence ABC (ou différentes possibilités de séquences) via l’utilisation de « | »

Exemples :

tag(snips_room) matches "/salon|canapé|en bas|maison/" 
#[Communication][Didier]# matches "/arrête/" || "/éteins/" || "/ferme/"

Je souhaiterais être plus précis dans ma vérification / recherche de séquence je voudrais dire :
→ Qui se termine par « [MaCommande] » donc pour faire simple l’équivalent de « *[MaCommande] ».

C’est possible avec la commande matches ? Comment ?

Merci pour l’aide !

tu peux essayer en rajoutant ^ pour signifier un debut de phrase et $ pour signifier une fin de phrase

tag(snips_room) matches "/salon$|canapé$|en bas$|maison$/"

→ « qui se termine par salon ou canapé ou en bas ou maison »

tag(snips_room) matches "/^salon|^canapé|^en bas|^maison/"

→ « qui commence par salon ou canapé ou en bas ou maison »

tag(snips_room) matches "/^salon$|^canapé$|^en bas$|^maison$/"

→ « qui contient exactement salon ou canapé ou en bas ou maison »

Tu peux t’inspirer des exemple de regex php : PHP Regular Expressions

Norbert

Merci c’est ce que j’avais commencé sur les RegExp mais je viens de comprendre un truc que je n’arrive pas à résoudre c’est le crochet ouvrant ‹ [ › qui semble poser problème

Fonctionne

"xx]salon]" matches "/]salon]$/"

Ne fonctionne pas

"xx[salon]" matches "/[salon]$/"

J’ai essayé [ pour faire un caractère d’échappement mais non …

Trouvé ! Il faut « doubler » le " \ " pour faire l’échappement

1 « J'aime »

Pas vraiment le « doubler » mais il faut l’utiliser devant tout caractère qui sera interprété pour formater la regex effectivement

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.