Maison > base de données > tutoriel mysql > le corps du texte

Comment référencer des groupes de capture dans les expressions régulières MySQL ?

Linda Hamilton
Libérer: 2024-11-04 02:05:29
original
518 Les gens l'ont consulté

How do I Reference Capture Groups in MySQL Regular Expressions?

Référencement des groupes de capture dans MySQL Regex

Lorsque vous travaillez avec des expressions régulières dans MySQL, il est essentiel de comprendre comment référencer des groupes de capture. Les groupes de capture vous permettent de faire correspondre et d'extraire des modèles spécifiques dans une chaîne.

Problème : impossible de référencer les groupes

Dans la question, l'utilisateur tente de capturer un caractère répétitif à l'aide de l'expression REGEXP '^ (.)1$'. Cependant, cette tentative ne parvient pas à référencer correctement le groupe capturé.

Solution

Dans MySQL 8 et versions ultérieures, vous pouvez référencer des groupes de capture en utilisant $1, $2, etc. L'expression suivante capture et remplace avec succès un modèle :

SELECT REGEXP_REPLACE('stackoverflow','(.{5})(.*)','');
-- "overflowstack"
Copier après la connexion

Ici, (.{5}) capture une séquence de cinq caractères et (.*) capture tous les caractères restants. Le résultat est une chaîne avec les groupes capturés échangés : "overflowstack."

Pour MariaDB, le référencement des groupes de capture utilise \1, \2, etc. :

SELECT REGEXP_REPLACE('stackoverflow','(.{5})(.*)','\2\1');
-- "overflowstack"
Copier après la connexion

N'oubliez pas, capturez les groupes vous permettent de cibler des sections spécifiques d'une chaîne, offrant une plus grande flexibilité pour la correspondance de modèles et la manipulation dans vos requêtes MySQL.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal