Bonjour,
Je viens de passer un temps assez conséquent en voulant utiliser un regexp pour m'aider à nettoyer une requête SQL.
Comme vous l'aurez constaté, il y a des espaces en trop.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6SELECT * FROM `tralala` WHERE `toto` = 'bam bi nou' AND `tata` = truc
Oui mais attention, ceux de la chaine "bam_bi__nou", ne doivent pas être traités. Consistance oblige.
Donc la règle est : remplacer tout les espaces de plus de 2 caractères consécutifs par un seul à l'exception de ceux se situant entre quotes.
Si il y a des ténors du REGEXP, merci d'avance pour votre regard affuté. Sinon, je m'en retournerais vers une bonne vieille itération des familles.
Partager