Heim >Datenbank >MySQL-Tutorial >Wie können Sie erfasste Gruppen in regulären MySQL-Ausdrücken referenzieren?
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!