Effectuer un remplacement d'expression régulière dans MySQL
Vous cherchez à modifier les données de votre base de données MySQL à l'aide d'expressions régulières ? Cette question explore la disponibilité d'une telle fonctionnalité dans MySQL et fournit une solution pour ceux qui utilisent MariaDB ou MySQL 8.0.
Fonction de remplacement d'expression régulière
Dans MariaDB ou MySQL 8.0, la fonction REGEXP_REPLACE() offre la possibilité d'effectuer des remplacements basés sur des expressions régulières dans une colonne de base de données. Sa syntaxe est la suivante :
REGEXP_REPLACE(col, regexp, replace)
où :
Utilisation du Fonction
Pour utiliser la fonction REGEXP_REPLACE(), incluez-la simplement dans votre requête comme indiqué :
SELECT REGEXP_REPLACE('stackowerflow', 'ower', 'over');
Cela produira le résultat :
stackoverflow
Regroupement dans des expressions régulières
La fonction prend en charge le regroupement au sein d'expressions régulières, permettant des opérations plus complexes. remplacements. Par exemple, l'instruction suivante utilise le regroupement pour échanger la position de deux mots correspondants :
SELECT REGEXP_REPLACE("stackoverflow", "(stack)(over)(flow)", '\2 - \1 - \3')
Cela renverra :
over - stack - flow
Approches alternatives
Pour les utilisateurs n'exécutant pas MariaDB ou MySQL 8.0, une approche alternative impliquant PHP et MySQL peut être utilisée. Cette méthode consiste à sélectionner les données, à utiliser PHP pour le remplacement des expressions régulières, puis à mettre à jour la base de données. Cependant, cela peut être plus fastidieux et plus gourmand en performances que l'utilisation de la fonction dédiée REGEXP_REPLACE().
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!