MySQL мэдээллийн сангийн тогтмол илэрхийллүүд хэрхэн таарч байна вэ? MySQL regexp шиг хэрэглээ

MySQL мэдээллийн санТогтмол илэрхийлэл хэрхэн таарч байна вэ?MySQL regexp шиг хэрэглээ

MySQL тогтмол илэрхийллүүд

Өмнөх бүлгүүдээс бид MySQL байж болохыг олж мэдсэн LIKE...% бүдэг бадаг тааруулахын тулд.

MySQL нь бусад ердийн илэрхийлэлүүдийг тохируулахыг дэмждэг.REGEXP операторыг MySQL-д ердийн илэрхийлэл тааруулахад ашигладаг.

Хэрэв та PHP эсвэл Perl мэддэг бол MySQL-ийн тогтмол илэрхийллийн тохироо нь эдгээр скриптүүдийнхтэй төстэй тул энэ нь маш энгийн зүйл юм.

Дараах хүснэгтийн ердийн хэв маягийг REGEXP операторт хэрэглэж болно.

Горимтодорхойлолт
^Оролтын мөрийн эхэнд таарна.^ нь RegExp объектын Multiline шинж чанарыг тохируулсан бол '\n' эсвэл '\r'-ийн дараах байрлалтай тохирно.
$Оролтын мөрийн төгсгөлд таарч байна.Хэрэв RegExp объектын Multiline шинж чанарыг тохируулсан бол $ нь '\n' эсвэл '\r'-ийн өмнөх байрлалтай тохирно.
."\n"-ээс бусад ямар ч тэмдэгт таарч байна.'\n' зэрэг дурын тэмдэгттэй тааруулахын тулд '[.\n]' гэх мэт хээ ашиглана уу.
[...]дүрүүдийн цуглуулга.Оруулсан тэмдэгтүүдийн аль нэгэнд нь таарна.Жишээлбэл, '[abc]' нь "plain-д 'a'.
[^…]Сөрөг тэмдэгтийн багц.Ямар ч тэмдэгт агуулаагүй таарч байна.Жишээ нь, '[^abc]' нь "plain"-ын 'p'-тэй тохирно.
p1|p2|p3p1 эсвэл p2 эсвэл p3 таарч байна.Жишээлбэл, 'z|food' нь "z" эсвэл "хоол"-ын аль нэгтэй тохирно. '(z|f)ood' нь "zood" эсвэл "хоол"-той таарч байна.
*Өмнөх дэд илэрхийлэлтэй тэг буюу түүнээс олон удаа таарч байна.Жишээ нь, zo* нь "z" болон "zoo"-тэй таарах болно. * нь {0,}-тай тэнцүү.
+Өмнөх дэд илэрхийлэлтэй нэг буюу хэд хэдэн удаа таарч байна.Жишээлбэл, 'zo+' нь "zo" болон "zoo"-тэй таарч тохирох боловч "z"-тэй тохирохгүй. + нь {1,}-тэй тэнцүү.
{n}n нь сөрөг бус бүхэл тоо юм.Яг n удаа таарч байна.Жишээ нь, 'o{2}' нь "Боб"-ын 'o'-тэй таарахгүй, харин "хоол"-ын хоёр o-той тохирно.
{н,м}m ба n хоёулаа сөрөг бус бүхэл тоо бөгөөд энд n <= m байна.Хамгийн багадаа n удаа, хамгийн ихдээ m удаа таарна.

жишээ

Дээрх ердийн шаардлагуудыг ойлгосны дараа бид өөрсдийн шаардлагын дагуу тогтмол илэрхийлэл бүхий SQL хэллэгүүдийг бичиж болно.Доор бид ойлголтоо гүнзгийрүүлэхийн тулд цөөн хэдэн жижиг жишээг (хүснэгтийн нэр: person_tbl) жагсаах болно:

Нэрийн талбараас 'st'-ээр эхэлсэн бүх өгөгдлийг ол:

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';

Нэрийн талбараас "ok" гэж төгссөн бүх өгөгдлийг ол:

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';

Нэрийн талбараас 'mar' тэмдэгт мөр агуулсан бүх өгөгдлийг ол:

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';

Нэрийн талбараас эгшиг үсгээр эхэлсэн эсвэл 'ok' тэмдэгтээр төгссөн бүх өгөгдлийг ол:

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';

Hope Chen Weiliang блог ( https://www.chenweiliang.com/ ) shared "MySQL өгөгдлийн сангийн ердийн илэрхийллийг хэрхэн тохируулах вэ? MySQL regexp like use" нь танд туслах болно.

Энэ нийтлэлийн холбоосыг хуваалцахад тавтай морилно уу:https://www.chenweiliang.com/cwl-492.html

Чен Вэйляны блогын Telegram сувагт тавтай морил, хамгийн сүүлийн үеийн мэдээг аваарай!

🔔 Сувгийн шилдэг лавлахаас "ChatGPT Content Marketing AI Tool Usage Guide"-г хамгийн түрүүнд аваарай! 🌟
📚 Энэхүү гарын авлага нь асар их үнэ цэнийг агуулсан, 🌟Энэ бол ховор боломж, бүү алдаарай! ⏰⌛💨
Хэрэв танд таалагдвал лайк дарж, хуваалцаарай!
Таны хуваалцах, дуртай зүйл бол бидний байнгын урам зориг юм!

 

发表 评论

Таны имэйл хаяг нийтлэгдэхгүй. 必填 项 已 用 дээр ажиллаж байна * 标注

滚动 到 顶部