Bu konuda, MaxCompute SQL'deki düzenli ifadelerin desteklediği özel karakterler, karakter sınıfları ve kaçış karakterleri açıklanmaktadır. RLIKE işlecinin kullanımı ve örnekleri için bkz. RLIKE.
Özel karakterler
Özel karakter | Açıklama |
| Bir dizenin başlangıcını eşleştirir. |
| Bir dizenin sonunu eşleştirir. |
| Herhangi bir tek karakteri eşleştirir. |
| Önceki karakteri veya deseni sıfır ya da daha fazla kez eşleştirir. |
| Önceki karakteri veya deseni bir ya da daha fazla kez eşleştirir. |
|
|
| A veya B'yi eşleştirir. |
|
|
|
|
| Köşeli parantez içinde listelenen herhangi bir karakteri eşleştirir. |
| a'dan d'ye (a, b, c veya d) aralığındaki herhangi bir karakteri eşleştirir. |
|
|
| POSIX karakter grubu sözdizimi. Ayrıntılar için ilgili bölüme bakın. |
| Kaçış karakteri. |
| Geri başvuru; burada n, 1'den 9'a kadar bir basamaktır. |
| Herhangi bir basamağı (0–9) eşleştirir. |
| Basamak olmayan herhangi bir karakteri eşleştirir. |
Örnekler
Daha fazla kullanım örneği için bkz. RLIKE.
Genel desen eşleştirme
-
Bir dizenin başlangıcını ve sonunu eşleştirme
-- Check whether the string aa123bb starts with a. Returns true. SELECT 'aa123bb' RLIKE '^a'; -
Herhangi bir karakteri eşleştirme
-- Check whether the string cc123bb starts with any character in the range a to d. Returns true. SELECT 'cc123bb' RLIKE '^[a-d]'; -- Check whether the string 12abc34 starts with 12, ends with 34, and contains at least one character in the range a to d in between. Returns true. SELECT '12abc34' RLIKE '^12[a-d]+34$';
Kaçış karakteri eşleştirme
RLIKE işleci kaçış karakteri olarak ters eğik çizgi (\) kullanır. Bu nedenle, düzenli ifade deseninde görünen her ters eğik çizginin (\) iki kez kaçışı gerekir.
-
Örnek 1
Özel bir regex karakteri olan
+işaretini içerena+bdizesini eşleştirmek için + işaretinin kaçış işlemine tabi tutulması gerekir. Regex motorunda bu duruma\+bolarak ifade edilir. Ek bir kaçış katmanı gerektiğinden, dizeyi eşleştiren ifadea\\+bşeklindedir.SELECT 'a+b' RLIKE 'a\\+b'; -- Results: +------+ | _c1 | +------+ | true | +------+ -
Örnek 2
Dize bir sekme karakteri (TAB) içeriyorsa, sistem okuma sırasında
\tifadesini tek bir karakter olarak depolar. Bu nedenle, regex deseninde normal bir karakter olarak ele alınır.SELECT 'a\tb', 'a\tb' RLIKE 'a\tb'; -- Results: +---------+------+ | _c0 | _c1 | +---------+------+ | a b | true | +---------+------+
Karakter grupları
POSIX karakter grupları
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MaxCompute, \f veya \v karakterlerini desteklemez.
Çince karakter grupları
|
|
|
|
|
|
|
|
|
|
|
|