MariaDB - Normal İfade
LIKE yan tümcelerinden elde edilebilen kalıp eşleştirmesinin ötesinde, MariaDB, REGEXP işleci aracılığıyla düzenli ifadeye dayalı eşleştirme sunar. Operatör, belirli bir modele göre bir dizgi ifadesi için desen eşleştirmesi gerçekleştirir.
MariaDB 10.0.5, özyinelemeli modeller, ileriye dönük iddialar ve daha fazlası gibi alanlarla eşleştirme kapsamını önemli ölçüde artıran PCRE Regular Expressions'ı tanıttı.
Aşağıda verilen standart REGEXP işleci söz diziminin kullanımını inceleyin -
SELECT column FROM table_name WHERE column REGEXP '[PATTERN]';
REGEXP, bir kalıp eşleşmesi için 1, yoksa 0 döndürür.
Tersi için bir seçenek REGEXP DEĞİL biçiminde mevcuttur. MariaDB, uyumluluk nedenleriyle oluşturulmuş REGEXP ve NOT REGEXP, RLIKE ve NOT RLIKE için eşanlamlılar da sunar.
Karşılaştırılan model, değişmez bir dize veya tablo sütunu gibi başka bir şey olabilir. Dizelerde, C kaçış sözdizimini kullanır, bu nedenle "\" karakterlerini iki katına çıkarın. REGEXP ayrıca ikili dizeler haricinde büyük / küçük harfe duyarlıdır.
Kullanılabilecek olası modellerin bir tablosu aşağıda verilmiştir -
Sr.No | Desen ve Açıklama |
---|---|
1 | ^ Dizenin başlangıcıyla eşleşir. |
2 | $ Dizenin sonuyla eşleşir. |
3 | . Tek bir karakterle eşleşir. |
4 | [...] Parantez içindeki herhangi bir karakterle eşleşir. |
5 | [^...] Parantez içinde listelenmeyen herhangi bir karakterle eşleşir. |
6 | p1|p2|p3 Herhangi bir modelle eşleşiyor. |
7 | * Önceki öğenin 0 veya daha fazla örneğiyle eşleşir. |
8 | + Önceki öğenin 1 veya daha fazla örneğiyle eşleşir. |
9 | {n} Önceki öğenin n adet örneğiyle eşleşir. |
10 | {m,n} Önceki öğenin m ile n arası örnekleriyle eşleşir. |
Aşağıda verilen kalıp eşleştirme örneklerini inceleyin -
"Pr" ile başlayan ürünler -
SELECT name FROM product_tbl WHERE name REGEXP '^pr';
"Na" ile biten ürünler -
SELECT name FROM product_tbl WHERE name REGEXP 'na$';
Sesli harfle başlayan ürünler -
SELECT name FROM product_tbl WHERE name REGEXP '^[aeiou]';