Maqolalar katalogi
MySQL ma'lumotlar bazasiMuntazam ifoda qanday mos keladi?MySQL regexp kabi foydalanish
MySQL muntazam ifodalari
Oldingi boblarda biz MySQL bo'lishi mumkinligini bilib oldik LAYK...% loyqa moslik uchun.
MySQL boshqa oddiy iboralarni moslashtirishni ham qo'llab-quvvatlaydi.REGEXP operatori MySQLda muntazam ifodalarni moslashtirish uchun ishlatiladi.
Agar siz PHP yoki Perl-ni bilsangiz, bu juda oddiy, chunki MySQL-ning oddiy ifoda moslashuvi ushbu skriptlarnikiga o'xshaydi.
Quyidagi jadvaldagi oddiy naqshlar REGEXP operatoriga qo'llanilishi mumkin.
Rejim | tavsif |
---|---|
^ | Kirish satrining boshiga mos keladi.^ RegExp ob'ektining Multiline xususiyati o'rnatilgan bo'lsa, '\n' yoki '\r' dan keyingi pozitsiyaga ham mos keladi. |
$ | Kirish qatorining oxiriga mos keladi.RegExp ob'ektining Multiline xususiyati o'rnatilgan bo'lsa, $ "\n" yoki "\r" dan oldingi pozitsiyaga ham mos keladi. |
. | “\n”dan tashqari har qanday bitta belgiga mos keladi.“\n” kabi har qanday belgiga mos kelish uchun “[.\n]” kabi naqshdan foydalaning. |
[...] | belgilar to'plami.Tarkibdagi belgilarning har qandayiga mos keladi.Masalan, "[abc]" "pl" ga mos keladiain ichida "a". |
[^…] | Salbiy belgilar to'plami.Tarkibida boʻlmagan har qanday belgiga mos keladi.Masalan, “[^abc]” “p” ga “p” ga mos keladi. |
p1|p2|p3 | p1 yoki p2 yoki p3 bilan moslang.Masalan, "z|food" "z" yoki "ovqat" ga mos keladi. "(z|f)ood" "zood" yoki "ovqat" ga mos keladi. |
* | Oldingi pastki ifodaga nol yoki undan ortiq marta mos keladi.Masalan, zo* "z" va "hayvonot bog'i"ga mos keladi. * {0,} ga ekvivalent. |
+ | Oldingi pastki ifodaga bir yoki bir necha marta mos keladi.Masalan, "zo+" "zo" va "hayvonot bog'i" ga mos keladi, lekin "z" emas. + {1,} ga ekvivalent. |
{n} | n - manfiy bo'lmagan butun son.To'liq n marta mos keladi.Masalan, "o{2}" "Bob" dagi "o" ga mos kelmaydi, lekin "ovqat" dagi ikkala o ga mos keladi. |
{n,m} | m ham, n ham manfiy bo'lmagan butun sonlar, bu erda n <= m.Kamida n marta va ko'pi bilan m marta mos keladi. |
Misol
Yuqoridagi muntazam talablarni tushunganimizdan so'ng, biz o'z talablarimizga muvofiq SQL iboralarini muntazam iboralar bilan yozishimiz mumkin.Quyida tushunchamizni chuqurlashtirish uchun bir nechta kichik misollarni keltiramiz (jadval nomi: person_tbl ):
Nom maydonida "st" bilan boshlangan barcha ma'lumotlarni toping:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
Nom maydonida "ok" bilan tugaydigan barcha ma'lumotlarni toping:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
Nom maydonida "mar" qatorini o'z ichiga olgan barcha ma'lumotlarni toping:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
Nom maydonida unli harf bilan boshlanadigan yoki "ok" qatori bilan tugaydigan barcha ma'lumotlarni toping:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
Umid qilamanki, Chen Veyliang blogi ( https://www.chenweiliang.com/ ) "MySQL ma'lumotlar bazasi muntazam ifodalarini qanday moslashtirish mumkin? MySQL regexp like use" sizga yordam beradi.
Ushbu maqolaning havolasini baham ko'rish uchun xush kelibsiz:https://www.chenweiliang.com/cwl-492.html
Eng so'nggi yangiliklardan xabardor bo'lish uchun Chen Veyliang blogining Telegram kanaliga xush kelibsiz!
📚 Ushbu qo'llanmada katta ahamiyatga ega, 🌟Bu kamdan-kam imkoniyat, uni qo'ldan boy bermang! ⏰⌛💨
Baham ko'ring va yoqsa like!
Sizning baham ko'rish va yoqtirishlaringiz bizning doimiy motivatsiyamizdir!