Kalozera wa Nkhani
Kodi mungagwiritse ntchito bwanji mafananizo achizolowezi mu database ya MySQL ? Kodi mungagwiritse ntchito bwanji MySQL regexp ngati?
Mawu okhazikika a MySQL
M'mitu yapitayi, tinaphunzira kuti MySQL ingagwiritse ntchito LIKE …% pofananiza fuzzy.
MySQL imathandiziranso kufananiza kwa mawu ena okhazikika.Ogwiritsa ntchito REGEXP amagwiritsidwa ntchito mu MySQL pofananiza mawu pafupipafupi.
Ngati mukudziwa PHP kapena Perl, ndizowongoka bwino, popeza kufananiza kwanthawi zonse kwa MySQL kuli kofanana ndi zolemba izi.
Mapangidwe anthawi zonse patebulo lotsatirali atha kugwiritsidwa ntchito kwa wogwiritsa ntchito REGEXP.
| Njira | kufotokoza |
|---|---|
| ^ | Zimagwirizana ndi chiyambi cha chingwe cholowetsa.^ imafanananso ndi malo pambuyo pa '\n' kapena '\r' ngati katundu wa Multiline wa chinthu cha RegExp akhazikitsidwa. |
| $ | Imafanana kumapeto kwa chingwe cholowetsa.Ngati katundu wa Multiline wa chinthu cha RegExp akhazikitsidwa, $ imafanananso ndi malo '\n' kapena '\r' isanachitike. |
| . | Imafanana ndi chilembo chilichonse kupatula "\n".Kuti mufanane ndi zilembo zilizonse kuphatikiza '\n', gwiritsani ntchito mawonekedwe ngati '[.\n]'. |
| [...] | kusonkhanitsa zilembo.Zimagwirizana ndi zilembo zilizonse zomwe zili.Mwachitsanzo, '[abc]' ingafanane ndi "plai'a' mu n". |
| [^…] | Makhalidwe oipa.Imafanana ndi zilembo zilizonse zomwe sizili.Mwachitsanzo, '[^abc]' angafanane ndi 'p' mu "plain". |
| p1|p2|p3 | Zofanana ndi p1 kapena p2 kapena p3.Mwachitsanzo, 'z|chakudya' angafanane ndi "z" kapena "chakudya". '(z|f)ood' ikufanana ndi "zood" kapena "chakudya". |
| * | Kufanana ndi mawu am'mbuyomo ziro kapena kupitilira apo.Mwachitsanzo, zo* angafanane ndi "z" komanso "zoo". *ndichofanana ndi {0,}. |
| + | Kufanana ndi mawu am'mbuyomo kamodzi kapena zingapo.Mwachitsanzo, 'zo+' angafanane ndi "zo" ndi "zoo", koma osati "z". + ndikufanana ndi {1,}. |
| {n} | n ndi chiwerengero chosatsutsa.Zofanana ndendende nthawi za n.Mwachitsanzo, 'o{2}' sangafanane ndi 'o' mu "Bob", koma angafanane ndi ma o onse mu "chakudya". |
| {n,m} | Onse m ndi n ndi manambala osagwirizana, pomwe n <= m.Amafananiza nthawi zosachepera n komanso nthawi zambiri zama mita. |
Chitsanzo
Pambuyo pomvetsetsa zomwe zili pamwambazi, titha kulemba mawu a SQL ndi mawu okhazikika malinga ndi zomwe tikufuna.Pansipa tilembamo zitsanzo zazing'ono (dzina la tebulo: person_tbl ) kuti timvetse bwino:
Pezani zonse kuyambira ndi 'st' m'munda wa dzina:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
Pezani zidziwitso zonse zomwe zimatha ndi 'ok' m'gawo la dzina:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
Pezani zonse zomwe zili ndi zingwe za 'mar' pagawo la dzina:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
Pezani deta yonse yomwe imayamba ndi mavawelo kapena kutha ndi chingwe 'ok':
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
Tikukhulupirira kuti nkhani yakuti "Momwe Mungagwirizanitsire Ntchito Ma Expressions Okhazikika mu MySQL Database? Kugwiritsa Ntchito MySQL regexp ngati" yomwe yagawidwa pa blog ya Chen Weiliang ( https://www.chenweiliang.com/ ) idzakuthandizani.
Khalani omasuka kugawana ulalo wa nkhaniyi: https://www.chenweiliang.com/cwl-492.html
