MySQL - Regexps
MySQL örüntü eşleşmesini gördünüz. LIKE ...%. MySQL, normal ifadelere veREGEXPŞebeke. PHP veya PERL'in farkındaysanız, anlamak sizin için çok basittir çünkü bu eşleştirme, normal ifadeleri kodlayanlarla aynıdır.
Aşağıda, ile birlikte kullanılabilecek desen tablosu verilmiştir. REGEXP Şebeke.
Desen | Desen neyle eşleşiyor |
---|---|
^ | Dizenin başlangıcı |
$ | Dizenin sonu |
. | Herhangi bir tek karakter |
[...] | Köşeli parantezler arasında listelenen herhangi bir karakter |
[^ ...] | Köşeli parantezler arasında listelenmeyen herhangi bir karakter |
p1 | p2 | p3 | Değişim; p1, p2 veya p3 modellerinden herhangi biriyle eşleşir |
* | Önceki elemanın sıfır veya daha fazla örneği |
+ | Önceki öğenin bir veya daha fazla örneği |
{n} | n önceki öğe örnekleri |
{m, n} | m'den n'ye kadar önceki öğenin örnekleri |
Örnekler
Şimdi yukarıdaki tabloya dayanarak, gereksinimlerinizi karşılamak için çeşitli türlerde SQL sorguları çalıştırabilirsiniz. Burada, anlayışınız için birkaç tane listeliyorum.
Adında bir masamız olduğunu düşünün person_tbl ve adı verilen bir alana sahip name -
İle başlayan tüm isimleri bulmak için sorgulama 'st' -
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
İle biten tüm isimleri bulmak için sorgulama 'ok' -
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
İçeren tüm isimleri bulmak için sorgulama 'mar' -
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
Bir sesli harfle başlayan ve ile biten tüm isimleri bulmak için sorgulama 'ok' -
mysql> SELECT FirstName FROM intque.person_tbl WHERE FirstName REGEXP '^[aeiou].*ok$';