©SQL :: Manager
HomeProgramm-InformationenTechnische DetailsKostenloser DownloadKaffee für den Autor
Netzwelt
SQL-FunktionMySQLMariaDB

Die REGEXP_REPLACE SQL-Funktion in MySQL und MariaDB - Regulären Ausdruck ersetzen

REGEXP_REPLACESyntax:REGEXP_REPLACE(Zeichenkette, Muster, Ersetzen durch [, Position] [, Auftreten] [, Übereinstimmungstyp])
Rückgabe-Wert:CHAR
Funktions-Typ:Reguläre Ausdrücke
Funktions-Beschreibung

Die SQL-Funktion REGEXP_REPLACE() gibt eine "Zeichenkette" zurück, bei der alle Vorkommen des regulären Ausdrucks "Muster" durch die Zeichenfolge "Ersetzen durch" ersetzt wurden.

Wenn keine Vorkommen gefunden werden, wird die "Zeichenkette" unverändert zurückgegeben.

Die Zeichenfolge "Ersetzen durch" kann Rückverweise auf die Unterausdrücke in der Form \N haben, wobei N eine Zahl von 1 bis 9 ist. Funktioniert nur mit MariaDB.

Die Funktion beachtet die Groß- und Kleinschreibungsregeln der effektiven Sortierung.

Wenn der Wert von "Zeichenfolge", "Muster" oder "Ersetzen durch" NULL ist, gibt die REGEXP_REPLACE()-Funktion NULL zurück.


In MySQL akzeptiert REGEXP_REPLACE() folgende optionale Argumente: In MariaDB stehen diese Optionen nicht zur Verfügung.

"Position": Die Position in "Zeichenfolge", an der die Suche beginnen soll. Der Standardwert ist 1, wenn nicht angegeben.

"Auftreten": Welches ​​Vorkommen einer Übereinstimmung ersetzt werden soll. Wenn nicht angegeben oder 0 werden alle Ausdrücke ersetzt.

"Übereinstimmungstyp": Eine Zeichenfolge, die angibt, wie der Abgleich durchgeführt wird:


TypBeschreibung
cGroß- und Kleinschreibung wird beachtet.
iÜbereinstimmung ohne Berücksichtigung der Groß- und Kleinschreibung.
mMehrzeiliger Modus. Zeilenabschlusszeichen innerhalb der Zeichenfolge werden erkannt. Das Standardverhalten besteht darin, Zeilenabschlusszeichen nur am Anfang und am Ende von "Zeichenfolge" abzugleichen.
nEin Punkt "." wird als Zeilenabschlusszeichen interpretiert: Voreinstellung.
uNur-Unix-Zeilenenden. Nur das Zeilenumbruchzeichen wird von den Übereinstimmungs-Operatoren ".", ",", "^" und "$" als Zeilenende erkannt.

Wenn innerhalb von "Übereinstimmungstyp" Zeichen angegeben werden, die widersprüchliche Optionen ergeben, hat das rechts-stehende Zeichen Vorrang.

Beispiele für die REGEXP_REPLACE()-Funktion auf MariaDB 10.3

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13

SELECT REGEXP_REPLACE('test-abc-abc-abc''Test''xxxx');
SELECT REGEXP_REPLACE(cast('test-abc-abc-abc' as char character set utf8mb4), cast('Test' as char character set utf8mb4), 'xxxx');

SELECT REGEXP_REPLACE('test-abc-ABC-aBc''(?i)abc''xxx');
SELECT REGEXP_REPLACE('test-abc-ABC-aBc''(?-i)abc''xxx');

SELECT REGEXP_REPLACE('Test Abc','^(.*) (.*)$','\2 = \1');

SELECT REGEXP_REPLACE(null'abc''xxx');
SELECT REGEXP_REPLACE('test-aa-abc'null'xxx');
SELECT REGEXP_REPLACE('test-aa-abc''abc'null);

REGEXP_REPLACE('test-abc-abc-abc', 'Test', 'xxxx')
test-abc-abc-abc
REGEXP_REPLACE(cast('test-abc-abc-abc' as char character set utf8mb4), cast('Test' as char character set utf8mb4), 'xxxx')
xxxx-abc-abc-abc
REGEXP_REPLACE('test-abc-ABC-aBc', '(?i)abc', 'xxx')
test-xxx-xxx-xxx
REGEXP_REPLACE('test-abc-ABC-aBc', '(?-i)abc', 'xxx')
test-xxx-ABC-aBc
REGEXP_REPLACE('Test Abc','^(.*) (.*)$','\2 = \1')
Abc = Test
REGEXP_REPLACE(null, 'abc', 'xxx')
NULL
REGEXP_REPLACE('test-aa-abc', null, 'xxx')
NULL
REGEXP_REPLACE('test-aa-abc', 'abc', null)
NULL

Beispiele für die REGEXP_REPLACE()-Funktion auf MySQL 8.0

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15

SELECT REGEXP_REPLACE('test-abc-abc-abc''Test''xxxx');
SELECT REGEXP_REPLACE(cast('test-abc-abc-abc' as char character set utf8mb4), cast('Test' as char character set utf8mb4), cast('xxxx' as char character set utf8mb4));

SELECT REGEXP_REPLACE('test-abc-ABC-aBc''(?i)abc''xxx', 7);
SELECT REGEXP_REPLACE('test-abc-ABC-aBc''(?-i)abc''xxx', 1, 2);
SELECT REGEXP_REPLACE('test-abc-ABC-aBc''abc''xxx', 1, 3, 'i');
SELECT REGEXP_REPLACE('test-abc-ABC-aBc''abc''xxx', 1, 0, 'i');

SELECT REGEXP_REPLACE('Test Abc','^(.*) (.*)$','\2 = \1');

SELECT REGEXP_REPLACE(null'abc''xxx');
SELECT REGEXP_REPLACE('test-aa-abc'null'xxx');
SELECT REGEXP_REPLACE('test-aa-abc''abc'null);

REGEXP_REPLACE('test-abc-abc-abc', 'Test', 'xxxx')
test-abc-abc-abc
REGEXP_REPLACE(cast('test-abc-abc-abc' as char character set utf8mb4), cast('Test' as char character set utf8mb4), cast('xxxx' as char character set utf8mb4))
xxxx-abc-abc-abc
REGEXP_REPLACE('test-abc-ABC-aBc', '(?i)abc', 'xxx', 7)
test-abc-xxx-xxx
REGEXP_REPLACE('test-abc-ABC-aBc', '(?-i)abc', 'xxx', 1, 2)
test-abc-ABC-aBc
REGEXP_REPLACE('test-abc-ABC-aBc', 'abc', 'xxx', 1, 3, 'i')
test-abc-ABC-xxx
REGEXP_REPLACE('test-abc-ABC-aBc', 'abc', 'xxx', 1, 0, 'i')
test-xxx-xxx-xxx
REGEXP_REPLACE('Test Abc','^(.*) (.*)$','\2 = \1')
2 = 1
REGEXP_REPLACE(null, 'abc', 'xxx')
NULL
REGEXP_REPLACE('test-aa-abc', null, 'xxx')
NULL
REGEXP_REPLACE('test-aa-abc', 'abc', null)
NULL
Die Beispiele wurden mit dem MyWAY SQL-Manager erstellt: Download

Verwendung der REGEXP_REPLACE() Funktion in MySQL und MariaDB-Datenbanken

In MySQL und MariaDB wird die Funktion REGEXP_REPLACE() verwendet, um Vorkommen eines Musters innerhalb einer Zeichenfolge mithilfe regulärer Ausdrücke zu ersetzen. Es kann somit nach Mustern in einer Zeichenfolge gesucht und diese durch eine angegebene Ersatzzeichenfolge ersetzt werden und kann für Aufgaben wie Datenbereinigung, Textmanipulation und Datentransformation nützlich sein.
REGEXPREGEXP_INSTRREGEXP_LIKEREGEXP_REPLACEREGEXP_SUBSTRREPEATREPLACE

Weitere MySQL und MariaDB SQL Reguläre Ausdrücke

REGEXPZeichenkette [NOT] REGEXP Muster
Mehr zur REGEXP-Funktion

REGEXP_INSTRREGEXP_INSTR(Zeichenkette, Muster [, Position] [, Auftreten] [, Rückgabe-Option] [, Übereinstimmungstyp])
Mehr zur REGEXP_INSTR-Funktion

REGEXP_LIKEREGEXP_LIKE(Zeichenkette, Muster [, Übereinstimmungstyp])
Mehr zur REGEXP_LIKE-Funktion

REGEXP_SUBSTRREGEXP_SUBSTR(Zeichenkette, Muster [, Position] [, Auftreten] [, Übereinstimmungstyp])
Mehr zur REGEXP_SUBSTR-Funktion

RLIKEZeichenkette [NOT] RLIKE Muster
Mehr zur RLIKE-Funktion

Numerische FunktionenZeichenketten-FunktionenReguläre AusdrückeDatum und Zeit-Funktionen
Vergleichs-FunktionenVerschlüsselung & KomprimierungKonvertierungs-FunktionenNULL-Funktionen
Aggregat-FunktionenWindow-FunktionenJSON-FunktionenGeometrische Funktionen
Sequenz-FunktionenInformations-FunktionenDynamische Tabellen-SpaltenSonstige Funktionen
Weitere Informationen zur SQL-Funktion REGEXP_REPLACE: mysql.com und mariadb.com
Aktualisiert: 24.09.2023ImpressumKontaktGeschäftsbedingungenDatenschutz & CookiesUpdatesSitemapFacebookLinkedinTwitterStatistics©2020-2024 Heino Cunze-Fischer