Maison >base de données >tutoriel mysql >Comment référencer des groupes de capture dans des expressions régulières dans MySQL ?

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

DDD
DDDoriginal
2024-11-03 15:00:301026parcourir

How to Reference Capture Groups in Regular Expressions in MySQL?

Référencement de groupe de capture Regex dans MySQL

Dans MySQL, le référencement d'un groupe de capture dans une expression régulière peut être réalisé en utilisant la méthode suivante :

Syntaxe :

REGEXP_REPLACE(string, pattern, replacement)

Pour MySQL 8 :

Les groupes de capture peuvent être créés à l'aide de parenthèses (). Pour faire référence à un groupe de capture, utilisez $1, $2, etc.

<code class="sql">SELECT REGEXP_REPLACE('stackoverflow','(.{5})(.*)','');
-- Output: "overflowstack"</code>

Pour MariaDB :

Les groupes de capture dans MariaDB sont gérés différemment. Les références arrière utilisent \1, \2, etc.

<code class="sql">SELECT REGEXP_REPLACE('stackoverflow','(.{5})(.*)','\2\1');
-- Output: "overflowstack"</code>

Exemple :

L'expression régulière ^(.)1$ vérifie s'il y a deux identiques caractères au début de la chaîne, mais cette syntaxe ne fonctionnera pas dans MySQL. Utilisez plutôt ce qui suit :

<code class="sql">SELECT REGEXP_REPLACE('aabbcc','^(.)(.)$','');
-- Output: "b"</code>

Cette expression régulière fait correspondre les deux premiers caractères de la chaîne (a et a) en tant que deux groupes de capture et récupère le deuxième caractère (b).

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!

Déclaration:
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