regexp bediener

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 10.4 LTS en hoger

Retourneert waar als str deze overeenkomt regex. Deze functie is een synoniem voor rlike operator.

Syntaxis

str [NOT] regexp regex

Argumenten

  • str: Een STRING uitdrukking in UTF8_BINARY collatie die moet overeenkomen.
  • regex: Een STRING expressie met een overeenkomend patroon.

Retouren

A BOOLEAN.

De regex tekenreeks moet een reguliere expressie zijn. Zie Reguliere expressies voor de ondersteunde syntaxis. Wanneer u letterlijke gegevens gebruikt, gebruikt raw-literal u (r voorvoegsel) om voorverwerking van escape-tekens te voorkomen.

str NOT regexp ... is equivalent aan NOT(str regexp ...).

Algemene foutvoorwaarden

Voorbeelden

Testen of een tekenreeks overeenkomt met een patroon

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

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

Controleren of een tekenreeks een cijfer bevat

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

Niet hoofdlettergevoelig vergelijken

Gebruik de (?i) inlinevlag om hoofdletters en kleine letters te negeren.

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

Een overeenkomst met NOT

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

Een letterlijke backslash vergelijken

Een backslash is een regex metacharacter, dus match een letterlijke backslash met \\. Met een onbewerkt letterlijk (r voorvoegsel) voorkomt u dat u ook het ESCAPE-teken van SQL moet verdubbelen.

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

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