Utiliser REGEXP_REPLACE pour faire des remplacements en MYSQL

REGEXP_REPLACE permet d’utiliser des expressions régulières pour faire des remplacements en MYSQL

, par clem

Syntaxe de base de REGEXP_REPLACE

  1. REGEXP_REPLACE("la chaine sur laquelle on veut faire le remplacement", "expression régulière", "la chaine de remplacement")

Pour la syntaxe complète (paramètres supplémentaires position, nbre d’occurrences, type de remplacement) voir https://dev.mysql.com/doc/refman/8.0/en/regexp.html#function_regexp-replace

Utiliser REGEXP_REPLACE dans un UPDATE

Dans cet exemple on souhaite supprimer (= remplacer par une chaine vide) les numéros qui précèdent le texte dans le champ titre de la table spip_articles. Ces numéros sont tous en début de titre et suivi par un point et un espace : l’expression régulière pour les "attraper" sera donc : ^[0-9]*\. , ce qui donne comme syntaxe de l’UPDATE :

  1. UPDATE spip_articles SET titre = REGEXP_REPLACE(titre, "^[0-9]*\. ", "");