regexp operatör

Gäller för:markerad ja Databricks SQL markerad ja Databricks Runtime 10.4 LTS och senare

Returnerar true om str matchar regex. Den här funktionen är en synonym för rlike operatorn.

Syntax

str [NOT] regexp regex

Argument

  • str: Ett STRING uttryck i UTF8_BINARY sortering som ska matchas.
  • regex: Ett STRING uttryck med ett matchande mönster.

Returer

En BOOLEAN.

Strängen regex måste vara ett reguljärt uttryck. Se Reguljära uttryck för syntaxen som stöds. När du använder literaler använder du raw-literal (r prefix) för att undvika förbearbetning av escape-tecken.

str NOT regexp ... motsvarar NOT(str regexp ...).

Vanliga felvillkor

Exempel

Testa om en sträng matchar ett mönster

> SELECT 'Databricks SQL' regexp r'^Data';
 true

> SELECT 'Spark SQL' regexp r'^Data';
 false

Kontrollera om en sträng innehåller en siffra

> SELECT 'order12345' regexp r'\d';
 true

Matcha skiftlägesokänsligt

Använd infogad (?i) flagga för att ignorera skiftläge.

> SELECT 'HELLO WORLD' regexp r'(?i)hello';
 true

Negera en matchning med NOT

> SELECT 'no digits here' NOT regexp r'\d';
 true

Matcha ett literalt omvänt snedstreck

Ett omvänt snedstreck är ett regex-metadiagram, så matcha ett literalt omvänt snedstreck med \\. En råliteral (r prefix) undviker att också behöva dubbla SQL-escape-tecknet.

> SELECT r'%SystemDrive%\Users\John' regexp r'%SystemDrive%\\Users.*';
 true

> SELECT r'%SystemDrive%\Users\John' regexp '%SystemDrive%\\\\Users.*';
 true