Tüm Ürünler
Search
Belge Merkezi

MaxCompute:Düzenli ifadeler

Son Güncelleme:Oct 04, 2026

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.

?

  • Önceki karakteri veya deseni sıfır ya da bir kez eşleştirir.

  • Bir tekrarlayıcıdan sonra (*, +, ?, {n}, {n,} veya {n,m}) yerleştirildiğinde, bu tekrarlayıcıyı aç gözlü olmayan moda geçirir. Aç gözlü olmayan mod mümkün olduğunca az karakteri eşleştirir; varsayılan aç gözlü mod ise mümkün olduğunca çok karakteri eşleştirir.

A|B

A veya B'yi eşleştirir.

(abc)*

abc dizisini sıfır ya da daha fazla kez eşleştirir.

{n} veya {m,n}

{n} tam olarak n kez eşleşir. {m,n} m ile n arasında eşleşir.

[ab]

Köşeli parantez içinde listelenen herhangi bir karakteri eşleştirir.

[a-d]

a'dan d'ye (a, b, c veya d) aralığındaki herhangi bir karakteri eşleştirir.

[^ab]

^ DEĞİL anlamına gelir. a veya b olmayan herhangi bir karakteri eşleştirir.

[::]

POSIX karakter grubu sözdizimi. Ayrıntılar için ilgili bölüme bakın.

\

Kaçış karakteri.

\n

Geri başvuru; burada n, 1'den 9'a kadar bir basamaktır.

\d

Herhangi bir basamağı (0–9) eşleştirir.

\D

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çeren a+b dizesini eşleştirmek için + işaretinin kaçış işlemine tabi tutulması gerekir. Regex motorunda bu durum a\+b olarak ifade edilir. Ek bir kaçış katmanı gerektiğinden, dizeyi eşleştiren ifade a\\+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 \t ifadesini 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ı


Karakter grubu


Açıklama


Eş değeri


[[:alnum:]]


Harfler ve rakamlar


[a-zA-Z0-9]


[[:alpha:]]


Harfler


[a-zA-Z]


[[:ascii:]]


ASCII karakterleri


[\x00-\x7F]


[[:blank:]]


Boşluk ve sekme


[ \t]


[[:cntrl:]]


Kontrol karakterleri


[\x00-\x1F\x7F]


[[:digit:]]


Rakamlar


[0-9]


[[:graph:]]


Boşluk dışındaki yazdırılabilir karakterler


[\x21-\x7E]


[[:lower:]]


Küçük harfler


[a-z]


[[:print:]]


[:graph:] artı boşluk


[\x20-\x7E]


[[:punct:]]


Noktalama işaretleri


[][!"#$%&'()*+,./:;<=>?@\^_{|}~-]`


[[:space:]]


Beyaz boşluk karakterleri


[ \t\r\n\v\f]


[[:upper:]]


Büyük harfler


[A-Z]


[[:xdigit:]]


Onaltılık sayı sistemindeki rakamlar


[A-Fa-f0-9]

Not

MaxCompute, \f veya \v karakterlerini desteklemez.

Çince karakter grupları


Karakter grubu


Desen


Çift baytlı karakterler (örneğin, Çince karakterler)


[^\\\x{00}-\\\x{ff}]


Çince karakterler


[\\x{4e00}-\\x{9fa5}]


Çince noktalama işaretleri


Çince noktalama işaretlerinin birleşik bir kodlama aralığı yoktur. Bir arama motorunda Çince noktalama işaretlerinin Unicode kod noktalarını arayabilir ve ardından bunları teker teker hariç tutmak için işleçleri kullanabilirsiniz.