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

Comment référencer des groupes capturés dans des expressions régulières MySQL ?

Susan Sarandon
Libérer: 2024-11-03 14:24:03
original
244 Les gens l'ont consulté

How Can You Reference Captured Groups in MySQL Regular Expressions?

Capturer le référencement de groupes dans les expressions régulières MySQL

Lorsque vous travaillez avec des expressions régulières dans MySQL, la capture de groupes peut être utilisée pour extraire des parties de texte. Cependant, contrairement à de nombreux autres langages de programmation, MySQL ne fournit pas le même niveau de prise en charge pour faire référence aux groupes capturés lors des substitutions d'expressions régulières ultérieures.

Dans MySQL 8, la fonction REGEXP_REPLACE introduit la possibilité de référencer des groupes de capture en utilisant $1, $2, etc. Par exemple, la requête suivante remplace les cinq premiers caractères de la chaîne 'stackoverflow' par les caractères restants :

<code class="sql">SELECT REGEXP_REPLACE('stackoverflow','(.{5})(.*)',''); -- "overflowstack"</code>
Copier après la connexion

MariaDB permet également la capture dans REGEXP_REPLACE, mais les références sont faites en utilisant 1, 2 , etc.

Cependant, il est important de noter que dans les versions antérieures de MySQL, telles que MySQL 5.7 et versions antérieures, il n'y avait pas de prise en charge directe du référencement des groupes de capture dans les expressions régulières. Dans ces versions, des techniques telles que le remplacement de la correspondance entière par une chaîne littérale ou l'utilisation d'expressions régulières compatibles Perl (PCRE) via la bibliothèque PCRE externe étaient nécessaires pour référencer les groupes capturés.

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