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

Die REGEXP_INSTR SQL-Funktion in MySQL und MariaDB - Anfangsindex von regulären Ausdrücken

REGEXP_INSTRSyntax:REGEXP_INSTR(Zeichenkette, Muster [, Position] [, Auftreten] [, Rückgabe-Option] [, Übereinstimmungstyp])
Rückgabe-Wert:INTEGER
Funktions-Typ:Reguläre Ausdrücke
Funktions-Beschreibung

Die SQL-Funktion REGEXP_INSTR() gibt den Anfangsindex der Teilzeichenfolge von "Zeichenfolge" zurück, die mit dem regulären Ausdruck "Muster" übereinstimmt.

Die Funktion gibt 0 zurück, wenn es keine Übereinstimmung gibt. Zeichenindizes beginnen bei 1.

Wenn der Wert von "Zeichenfolge" oder "Muster" NULL ist, ist der Rückgabewert der REGEXP_INSTR()-Funktion ebenfalls NULL.


In MySQL akzeptiert REGEXP_INSTR() 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": Nach welchem ​​Vorkommen einer Übereinstimmung gesucht werden soll. Der Standardwert ist 1, wenn nicht angegeben.

"Rückgabe-Option": Welche Art von Position zurückgegeben werden soll. Wenn dieser Wert 0 ist, gibt REGEXP_INSTR() die Position des ersten Zeichens der übereinstimmenden Teilzeichenfolge zurück. Wenn dieser Wert 1 ist, gibt REGEXP_INSTR() die Position nach der übereinstimmenden Teilzeichenfolge zurück. Der Standardwert ist 0, wenn nicht angegeben.

"Ü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_INSTR()-Funktion auf MariaDB 10.3

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

select regexp_instr('Test-aa''a');
select regexp_instr(binary 'Test-aa''a');
select regexp_instr('Test-aa''x');
select regexp_instr('Test-aa''T');

SELECT REGEXP_INSTR('Test-aa-abc''AB');
SELECT REGEXP_INSTR('Test-aa-abc''(?i)AB');
SELECT REGEXP_INSTR('Test-aa-abc''(?i)T(?-i)est');
SELECT REGEXP_INSTR('Test-aa-abc''(?i)T(?-i)EST');

SELECT REGEXP_INSTR(null'abc');
SELECT REGEXP_INSTR('Test-aa-abc'null);

regexp_instr('Test-aa', 'a')
int(11)
6
regexp_instr(binary 'Test-aa', 'a')
int(11)
6
regexp_instr('Test-aa', 'x')
int(11)
0
regexp_instr('Test-aa', 'T')
int(11)
1
REGEXP_INSTR('Test-aa-abc', 'AB')
int(11)
0
REGEXP_INSTR('Test-aa-abc', '(?i)AB')
int(11)
9
REGEXP_INSTR('Test-aa-abc', '(?i)T(?-i)est')
int(11)
1
REGEXP_INSTR('Test-aa-abc', '(?i)T(?-i)EST')
int(11)
0
REGEXP_INSTR(null, 'abc')
int(11)
NULL
REGEXP_INSTR('Test-aa-abc', null)
int(11)
NULL

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

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

SELECT REGEXP_INSTR('Test-abc-abc-abc''ab');
SELECT REGEXP_INSTR('Test-abc-abc-abc''ab', 7);
SELECT REGEXP_INSTR('Test-abc-abc-abc''ab', 1, 3);
SELECT REGEXP_INSTR('Test-abc-abc-abc''ab', 1, 3, 0);
SELECT REGEXP_INSTR('Test-abc-abc-abc''ab', 1, 3, 1);

SELECT REGEXP_INSTR('Test-abc-abc-abc''AB', 1, 3, 0);
SELECT REGEXP_INSTR('Test-abc-abc-abc''AB', 1, 3, 0, 'i');

SELECT REGEXP_INSTR(null'abc');
SELECT REGEXP_INSTR('Test-aa-abc'null);

REGEXP_INSTR('Test-abc-abc-abc', 'ab')
bigint(21)
6
REGEXP_INSTR('Test-abc-abc-abc', 'ab', 7)
bigint(21)
10
REGEXP_INSTR('Test-abc-abc-abc', 'ab', 1, 3)
bigint(21)
14
REGEXP_INSTR('Test-abc-abc-abc', 'ab', 1, 3, 0)
bigint(21)
14
REGEXP_INSTR('Test-abc-abc-abc', 'ab', 1, 3, 1)
bigint(21)
16
REGEXP_INSTR('Test-abc-abc-abc', 'AB', 1, 3, 0)
bigint(21)
0
REGEXP_INSTR('Test-abc-abc-abc', 'AB', 1, 3, 0, 'i')
bigint(21)
14
REGEXP_INSTR(null, 'abc')
bigint(21)
NULL
REGEXP_INSTR('Test-aa-abc', null)
bigint(21)
NULL
Die Beispiele wurden mit dem MyWAY SQL-Manager erstellt: Download

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

Mit der Funktion REGEXP_INSTR() in MySQL und MariaDB wird nach der Position des ersten Vorkommens eines regulären Ausdrucksmusters innerhalb einer Zeichenfolge gesucht. Die Funktion gibt die Position als ganzzahligen Wert zurück. REGEXP_INSTR() bietet eine praktische Möglichkeit, die Position einer Übereinstimmung mit einem regulären Ausdruck innerhalb einer Zeichenfolge zu ermitteln. Es kann für verschiedene Zwecke verwendet werden, zum Beispiel zum Auffinden bestimmter Muster, zum Extrahieren von Teilzeichenfolgen oder zum Durchführen bedingter Operationen basierend auf der Position einer Übereinstimmung.

In MySQL stehen für diese Funktion zusätzliche Optionen zur Verfügung, die in MariaDB nicht vorhanden sind.
RANDRANDOM_BYTESREGEXPREGEXP_INSTRREGEXP_LIKEREGEXP_REPLACEREGEXP_SUBSTR

Weitere MySQL und MariaDB SQL Reguläre Ausdrücke

REGEXPZeichenkette [NOT] REGEXP Muster
Mehr zur REGEXP-Funktion

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

REGEXP_REPLACEREGEXP_REPLACE(Zeichenkette, Muster, Ersetzen durch [, Position] [, Auftreten] [, Übereinstimmungstyp])
Mehr zur REGEXP_REPLACE-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_INSTR: mysql.com und mariadb.com
Aktualisiert: 24.09.2023ImpressumKontaktGeschäftsbedingungenDatenschutz & CookiesUpdatesSitemapFacebookLinkedinTwitterStatistics©2020-2024 Heino Cunze-Fischer