MySQL ma'lumotlar bazasi muntazam ifodalari qanday mos keladi? Foydalanish kabi MySQL regexp

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.

Rejimtavsif
^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|p3p1 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!

🔔 Birinchi bo'lib kanalning yuqori katalogida qimmatli "ChatGPT Content Marketing AI vositasidan foydalanish bo'yicha qo'llanma"ni qo'lga kiriting! 🌟
📚 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!

 

发表 评论

Sizning elektron pochta manzilingiz e'lon qilinmaydi. 必填 项 已 用 * Yorliq

tepaga aylantiring