regexp operatör

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime 10.4 LTS ve üzeri

ile eşleşiyorsa strregextrue döndürür. Bu işlev rlike işleç için bir eş anlamlıdır.

Söz dizimi

str [NOT] regexp regex

Bağımsız değişkenler

  • str STRING: Harmanlamadaki UTF8_BINARY bir ifade eşleştirilecek.
  • regex STRING: Eşleşen desene sahip bir ifade.

Döndürülenler

Bir BOOLEAN.

Dize normal regex bir ifade olmalıdır. Desteklenen söz dizimi için bkz. Normal ifadeler . Değişmez değerleri kullanırken kaçış karakteri ön işlemesini önlemek için ( ön ek)raw-literalr .

str NOT regexp ... eşdeğeri, NOT(str regexp ...) olur.

Yaygın hata koşulları

Örnekler

Dizenin bir desenle eşleşip eşleşmediğini test edin

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

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

Dizenin basamak içerip içermediğini denetleme

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

Büyük/küçük harfe duyarsız eşleştirme

Büyük/küçük harf yoksaymak (?i) için satır içi bayrağını kullanın.

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

Ile eşleşmeyi olumsuzla NOT

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

Değişmez değer ters eğik çizgi eşleştirme

Ters eğik çizgi bir regex metacharacter'ıdır, bu nedenle değişmez bir ters eğik çizgiyi ile \\eşleştirin. Ham değişmez değer (r ön ek), SQL kaçış karakterinin de iki katına çıkılmasını önler.

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

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