Məqalələr kataloqu
MySQL verilənlər bazasıNormal ifadə necə uyğun gəlir?MySQL regexp kimi istifadə
MySQL müntəzəm ifadələri
Əvvəlki fəsillərdə MySQL-in ola biləcəyini öyrəndik KİMİ...% qeyri-səlis uyğunluq üçün.
MySQL digər normal ifadələrin uyğunlaşdırılmasını da dəstəkləyir.REGEXP operatoru MySQL-də müntəzəm ifadələrin uyğunlaşdırılması üçün istifadə olunur.
Əgər PHP və ya Perl dilini bilirsinizsə, bu, olduqca sadədir, çünki MySQL-in müntəzəm ifadə uyğunluğu bu skriptlərinklərinə bənzəyir.
Aşağıdakı cədvəldəki adi nümunələr REGEXP operatoruna tətbiq oluna bilər.
Rejim | təsviri |
---|---|
^ | Giriş sətirinin başlanğıcına uyğun gəlir.^ RegExp obyektinin Çoxxətli xassəsi qurulubsa, '\n' və ya '\r'-dən sonrakı mövqeyə də uyğun gəlir. |
$ | Giriş sətirinin sonuna uyğun gəlir.RegExp obyektinin Multiline xassəsi təyin edilərsə, $ həm də '\n' və ya '\r'-dən əvvəlki mövqeyə uyğun gəlir. |
. | "\n" istisna olmaqla hər hansı bir simvola uyğun gəlir.'\n' daxil olmaqla istənilən simvolu uyğunlaşdırmaq üçün '[.\n]' kimi nümunədən istifadə edin. |
[...] | personajlar toplusu.Daxil olan simvollardan hər hansı birinə uyğun gəlir.Məsələn, '[abc]', "plain-də 'a'. |
[^…] | Mənfi xarakter dəsti.Daxil olmayan hər hansı bir xarakterə uyğun gəlir.Məsələn, "[^abc]" "düz"də "p" ilə uyğun gəlir. |
p1|p2|p3 | p1 və ya p2 və ya p3 uyğun gəlir.Məsələn, "z|qida" ya "z" və ya "qida" ilə uyğun gəlir. '(z|f)ood' "zood" və ya "qida" ilə uyğun gəlir. |
* | Əvvəlki alt ifadəyə sıfır və ya daha çox dəfə uyğun gəlir.Məsələn, zo* "z" və "zoo" ilə uyğun gəlir. * {0,} ilə bərabərdir. |
+ | Əvvəlki alt ifadəyə bir və ya bir neçə dəfə uyğun gəlir.Məsələn, "zo+" "zo" və "zoo" ilə uyğun gəlir, lakin "z" deyil. + {1,} ilə bərabərdir. |
{n} | n mənfi olmayan tam ədəddir.Tam olaraq n dəfə uyğun gəlir.Məsələn, "o{2}" "Bob"dakı "o" ilə uyğun gəlməyəcək, lakin "yemək"dəki hər iki o ilə uyğunlaşacaq. |
{n,m} | Həm m, həm də n mənfi olmayan tam ədədlərdir, burada n <= m.Ən azı n dəfə və ən çoxu m dəfə uyğun gəlir. |
Nümunə
Yuxarıdakı müntəzəm tələbləri başa düşdükdən sonra biz öz tələblərimizə uyğun olaraq müntəzəm ifadələrlə SQL ifadələrini yaza bilərik.Anlayışımızı dərinləşdirmək üçün aşağıda bir neçə kiçik nümunə (cədvəlin adı: person_tbl) sadalayacağıq:
Ad sahəsində 'st' ilə başlayan bütün məlumatları tapın:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
Ad sahəsində "ok" ilə bitən bütün məlumatları tapın:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
Ad sahəsində 'mar' sətrini ehtiva edən bütün məlumatları tapın:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
Ad sahəsində sait simvolu ilə başlayan və ya 'ok' sətri ilə bitən bütün məlumatları tapın:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
Hope Chen Weiliang Blogu ( https://www.chenweiliang.com/ ) paylaşdı "MySQL verilənlər bazası müntəzəm ifadələrini necə uyğunlaşdırmaq olar? MySQL regexp like usage" sizə kömək edəcək.
Bu məqalənin linkini paylaşmağa xoş gəlmisiniz:https://www.chenweiliang.com/cwl-492.html
Ən son yenilikləri əldə etmək üçün Chen Weiliang bloqunun Telegram kanalına xoş gəlmisiniz!
📚 Bu təlimatda böyük dəyər var, 🌟Bu nadir fürsətdir, qaçırmayın! ⏰⌛💨
Bəyəndinizsə paylaşın və bəyənin!
Paylaşımlarınız və bəyənmələriniz davamlı motivasiyamızdır!