Besoin d'aide pour une regexp
Résolu
Kopros
Messages postés
631
Statut
Membre
-
Kopros Messages postés 631 Statut Membre -
Kopros Messages postés 631 Statut Membre -
Bonjour à tous,
Je n'y arrive définitivement pas avec les expressions régulières, est-ce que quelqu'un peut m'aider ?
Je veux faire une regexp dans une requête MySQL, mais j'y pige pas grand chose...
Je veux récupérer les données en fonction d'un mot recherché, si le mot est précédé et suivi d'un espace, ou si y'a aucun caractère avant et un espace après, ou si y'a un espace avant et aucun caractère après.
Je sais que c'est faisable mais je galère trop.
Merci de m'aider.
Je n'y arrive définitivement pas avec les expressions régulières, est-ce que quelqu'un peut m'aider ?
Je veux faire une regexp dans une requête MySQL, mais j'y pige pas grand chose...
Je veux récupérer les données en fonction d'un mot recherché, si le mot est précédé et suivi d'un espace, ou si y'a aucun caractère avant et un espace après, ou si y'a un espace avant et aucun caractère après.
Je sais que c'est faisable mais je galère trop.
Merci de m'aider.
1 réponse
En gros tu veux récupérer un mot comme avec l'option « mot entier seulement » qu'on trouve dans certains outils de recherche ? Ce qu'il te faut, c'est les word boundaries : [:<:] et [:>:], qui correspondent respectivement au début et à la fin d'un mot. Note que MySQL utilise la vieille syntaxe POSIX.
Essaye ceci :
Par exemple, si tu saisis ceci dans la zone SQL de ton PHPMyAdmin :
Tu verras directement les résultats, 1 quand ça marche, 0 quand ça marche pas.
;)
Essaye ceci :
[[:<:]]le_mot_a_chercher[[:>:]]
Par exemple, si tu saisis ceci dans la zone SQL de ton PHPMyAdmin :
SET @pattern := '[[:<:]]abc[[:>:]]'; SELECT 'x abc x' REGEXP @pattern, 'x abcd x' REGEXP @pattern, 'abc' REGEXP @pattern, 'x abcd x' REGEXP @pattern, 'x abc' REGEXP @pattern, 'abc x' REGEXP @pattern
Tu verras directement les résultats, 1 quand ça marche, 0 quand ça marche pas.
;)
C'est exactement ce que je cherchais !
Effectivement je suis en train de monter une petite fonction de recherche, ça va bien m'aider. Merci ! :)