Heim >Datenbank >MySQL-Tutorial >Wie kann ich reguläre Ausdrücke in MySQL ersetzen?
Ersetzung regulärer Ausdrücke in MySQL durchführen
Möchten Sie Daten in Ihrer MySQL-Datenbank mithilfe regulärer Ausdrücke ändern? Diese Frage untersucht die Verfügbarkeit einer solchen Funktionalität in MySQL und bietet eine Lösung für diejenigen, die MariaDB oder MySQL 8.0 verwenden.
Funktion zum Ersetzen regulärer Ausdrücke
In MariaDB oder MySQL 8.0 Die Funktion REGEXP_REPLACE() bietet die Möglichkeit, auf regulären Ausdrücken basierende Ersetzungen innerhalb einer Datenbankspalte durchzuführen. Seine Syntax lautet wie folgt:
REGEXP_REPLACE(col, regexp, replace)
wobei:
Verwenden der Funktion
Um die Funktion REGEXP_REPLACE() zu nutzen, fügen Sie sie einfach wie gezeigt in Ihre Abfrage ein:
SELECT REGEXP_REPLACE('stackowerflow', 'ower', 'over');
Dies erzeugt die Ausgabe:
stackoverflow
Gruppierung in regulären Ausdrücken
Die Funktion unterstützt die Gruppierung innerhalb regulärer Ausdrücke und ermöglicht so komplexere Ersatz. Beispielsweise verwendet die folgende Anweisung die Gruppierung, um die Position zweier übereinstimmender Wörter zu vertauschen:
SELECT REGEXP_REPLACE("stackoverflow", "(stack)(over)(flow)", '\2 - \1 - \3')
Dies gibt Folgendes zurück:
over - stack - flow
Alternative Ansätze
Für Benutzer, die weder MariaDB noch MySQL 8.0 verwenden, kann ein alternativer Ansatz mit PHP und MySQL verwendet werden. Bei dieser Methode werden die Daten ausgewählt, PHP zum Ersetzen durch reguläre Ausdrücke verwendet und anschließend die Datenbank aktualisiert. Es kann jedoch umständlicher und leistungsintensiver sein als die Verwendung der dedizierten REGEXP_REPLACE()-Funktion.
Das obige ist der detaillierte Inhalt vonWie kann ich reguläre Ausdrücke in MySQL ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!