Paano tumutugma ang mga regular na expression ng MySQL database? MySQL regexp tulad ng paggamit

MySQL databasePaano tumutugma ang regular na expression?MySQL regexp tulad ng paggamit

Mga regular na expression ng MySQL

Sa mga nakaraang kabanata natutunan natin na ang MySQL ay maaaring KATULAD...% para sa malabo na pagtutugma.

Sinusuportahan din ng MySQL ang pagtutugma ng iba pang mga regular na expression. Ang operator ng REGEXP ay ginagamit sa MySQL para sa pagtutugma ng regular na expression.

Kung alam mo ang PHP o Perl, ito ay medyo prangka, dahil ang regular na pagtutugma ng expression ng MySQL ay katulad ng sa mga script na ito.

Ang mga regular na pattern sa sumusunod na talahanayan ay maaaring ilapat sa REGEXP operator.

Modepaglalarawan
^Tumutugma sa simula ng input string.^ tumutugma din sa posisyon pagkatapos ng '\n' o '\r' kung nakatakda ang Multiline property ng RegExp object.
$Tumutugma sa dulo ng input string.Kung ang Multiline property ng RegExp object ay nakatakda, $ ay tumutugma din sa posisyon bago ang '\n' o '\r'.
.Tumutugma sa anumang solong karakter maliban sa "\n".Upang tumugma sa anumang character kasama ang '\n', gumamit ng pattern tulad ng '[.\n]'.
[...]koleksyon ng mga karakter.Tumutugma sa alinman sa mga nilalamang character.Halimbawa, ang '[abc]' ay tutugma sa "plai'a' sa n".
[^…]Negatibong set ng character.Tumutugma sa anumang character na hindi nilalaman.Halimbawa, ang '[^abc]' ay tutugma sa 'p' sa "plain".
p1|p2|p3Tumutugma sa p1 o p2 o p3.Halimbawa, ang 'z|pagkain' ay tutugma sa alinman sa "z" o "pagkain". Ang '(z|f)ood' ay tumutugma sa "zood" o "pagkain".
*Tumutugma sa naunang subexpression na zero o higit pang beses.Halimbawa, tutugma ang zo* sa "z" pati na rin sa "zoo". * ay katumbas ng {0,}.
+Tumutugma sa naunang subexpression nang isa o higit pang beses.Halimbawa, ang 'zo+' ay tutugma sa "zo" at "zoo", ngunit hindi sa "z". + ay katumbas ng {1,}.
{n}n ay isang hindi-negatibong integer.Eksaktong tumutugma sa n beses.Halimbawa, ang 'o{2}' ay hindi tutugma sa 'o' sa "Bob", ngunit tutugma sa parehong o sa "pagkain".
{n,m}Parehong m at n ay mga hindi negatibong integer, kung saan n <= m.Tumutugma sa hindi bababa sa n beses at sa pinakamaraming m beses.

Pangyayari

Matapos maunawaan ang mga regular na kinakailangan sa itaas, maaari tayong sumulat ng mga SQL statement na may mga regular na expression ayon sa sarili nating mga kinakailangan.Sa ibaba ay maglilista kami ng ilang maliliit na halimbawa (pangalan ng talahanayan: person_tbl ) upang mapalalim ang aming pag-unawa:

Hanapin ang lahat ng data na nagsisimula sa 'st' sa field ng pangalan:

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

Hanapin ang lahat ng data na nagtatapos sa 'ok' sa field ng pangalan:

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

Hanapin ang lahat ng data na naglalaman ng string na 'mar' sa field ng pangalan:

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

Hanapin ang lahat ng data sa field ng pangalan na nagsisimula sa isang vowel character o nagtatapos sa string na 'ok':

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

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) ibinahagi "Paano itugma ang mga regular na expression ng MySQL database? MySQL regexp tulad ng paggamit" ay makakatulong sa iyo.

Maligayang pagdating upang ibahagi ang link ng artikulong ito:https://www.chenweiliang.com/cwl-492.html

Maligayang pagdating sa Telegram channel ng blog ni Chen Weiliang para makuha ang pinakabagong mga update!

🔔 Maging una upang makuha ang mahalagang "ChatGPT Content Marketing AI Tool Usage Guide" sa direktoryo ng nangungunang channel! 🌟
📚 Ang gabay na ito ay naglalaman ng malaking halaga, 🌟Ito ay isang bihirang pagkakataon, huwag palampasin ito! ⏰⌛💨
Share and like kung gusto mo!
Ang iyong pagbabahagi at pag-like ay ang aming patuloy na pagganyak!

 

发表 评论

Ang iyong email address ay hindi mai-publish. 必填 项 已 用 * Tatak

mag-scroll sa itaas