Maison >base de données >tutoriel mysql >Comment référencer des groupes capturés dans des expressions régulières MySQL ?
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>
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!