Heim >Datenbank >MySQL-Tutorial >Wie können Sie erfasste Gruppen in regulären MySQL-Ausdrücken referenzieren?

Wie können Sie erfasste Gruppen in regulären MySQL-Ausdrücken referenzieren?

Susan Sarandon
Susan SarandonOriginal
2024-11-03 14:24:03238Durchsuche

How Can You Reference Captured Groups in MySQL Regular Expressions?

Erfassungsgruppenreferenzierung in regulären MySQL-Ausdrücken

Bei der Arbeit mit regulären Ausdrücken in MySQL können Erfassungsgruppen zum Extrahieren von Textteilen verwendet werden. Im Gegensatz zu vielen anderen Programmiersprachen bietet MySQL jedoch nicht das gleiche Maß an Unterstützung für den Verweis auf erfasste Gruppen in nachfolgenden Regex-Ersetzungen.

In MySQL 8 führt die Funktion REGEXP_REPLACE die Möglichkeit ein, auf Erfassungsgruppen mit $1 zu verweisen. $2 usw. Beispielsweise ersetzt die folgende Abfrage die ersten fünf Zeichen der Zeichenfolge „stackoverflow“ durch die restlichen Zeichen:

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

MariaDB ermöglicht auch die Erfassung in REGEXP_REPLACE, Referenzen werden jedoch mit 1, 2 erstellt usw.

Es ist jedoch wichtig zu beachten, dass es in früheren Versionen von MySQL, wie MySQL 5.7 und früher, keine direkte Unterstützung für die Referenzierung von Capture-Gruppen in regulären Ausdrücken gab. In diesen Versionen waren Techniken wie das Ersetzen der gesamten Übereinstimmung durch eine Literalzeichenfolge oder die Verwendung von Perl-kompatiblen regulären Ausdrücken (PCRE) über die externe PCRE-Bibliothek erforderlich, um erfasste Gruppen zu referenzieren.

Das obige ist der detaillierte Inhalt vonWie können Sie erfasste Gruppen in regulären MySQL-Ausdrücken referenzieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn