Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime 11.3 LTS ve üzeri
ile eşleşen strilk alt dizeyi regexp döndürür.
Söz dizimi
regexp_substr( str, regexp )
Bağımsız değişkenler
-
strSTRING: Eşleştirilecek ifade. -
regexpSTRING: Eşleşen desene sahip bir ifade.
Döndürülenler
Bir STRING.
regexp_substr tek bir yakalama grubu değil, eşleşen alt dizenin regexp tamamını döndürür.
Belirli bir yakalama grubunu döndürmek için regexp_extract kullanın.
Yalnızca ilk eşleşme dikkate alınır. Her eşleşmeyi döndürmek için regexp_extract_all kullanın.
Dize normal regexp bir ifade olmalıdır. Desteklenen söz dizimi için bkz. Normal ifadeler .
Değişmez değerleri kullanırken kaçış karakterinin ön işlenmesini önlemek için raw-literal (r ön ek) kullanın.
veya ise veya desen bulunamazsastr, sonuç olurNULL.NULLregexp
Yaygın hata koşulları
Örnekler
Çeşitli alternatiflerden birini eşleştirme
Desen Ste(v\|ph)en veya StevenStephenile eşleşir. işlevi ilk eşleşmeyi döndürür.
> SELECT regexp_substr('Steven Jones and Stephen Smith are the best players', r'Ste(v|ph)en');
Steven
Dizeden ilk sayıyı ayıklama
Ters eğik çizgiyi ikiye katlamadan regex altyapısına geçirilecek şekilde ham bir değişmez değer \d kullanın.
> SELECT regexp_substr('item 42 costs $19', r'\d+');
42
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 regexp_substr('Error: disk full', r'(?i)error');
Error
E-posta adresini ayıklama
> SELECT regexp_substr('Contact alice@example.com for details', r'\w+@\w+\.\w+');
alice@example.com
İlk hashtag'i ayıklama
regexp_substr yalnızca ilk eşleşmeyi döndürür. Her eşleşmeyi döndürmek için regexp_extract_all kullanın.
> SELECT regexp_substr('Posts tagged #data #ai #sql', r'#\w+');
#data
Eşleşme döndürülüyor NULL
Boş bir dize döndüren regexp_extract aksine, regexp_substr desen bulunamadığında döndürür NULL .
> SELECT regexp_substr('Mary had a little lamb', r'Ste(v|ph)en');
NULL
NULL giriş dönüşleri NULL
> SELECT regexp_substr(NULL, r'Ste(v|ph)en');
NULL
> SELECT regexp_substr('Mary had a little lamb', NULL);
NULL
Geçersiz regex deseni
> SELECT regexp_substr('abc', '[invalid');
Error: INVALID_PARAMETER_VALUE.PATTERN