pelrêça gotarê
Databasa MySQLGotina birêkûpêk çawa li hev dike?MySQL regexp wek bikaranîna
Gotinên birêkûpêk ên MySQL
Di beşên berê de em fêr bûn ku MySQL dikare bibe ÇAWA...% ji bo berhevdana fuzzy.
MySQL di heman demê de lihevhatina bêjeyên birêkûpêk ên din jî piştgirî dike. Operatorê REGEXP di MySQL de ji bo lihevhatina vegotina birêkûpêk tê bikar anîn.
Ger hûn PHP an Perl dizanin, ew pir sade ye, ji ber ku lihevhatina birêkûpêk a MySQL dişibihe yên van tîpan.
Nimûneyên birêkûpêk ên di tabloya jêrîn de dikarin ji operatorê REGEXP re werin sepandin.
Mode | terîf |
---|---|
^ | Destpêka rêzika têketinê li hev dike.^ di heman demê de pozîsyona piştî '\n' an '\r' li hev dike heke taybetmendiya Multiline ya objekta RegExp were danîn. |
$ | Dawiya rêzika têketinê li hev dike.Ger taybetmendiya Multiline ya objekta RegExp were danîn, $ jî bi pozîsyona berî '\n' an '\r' re li hev dike. |
. | Ji xeynî "\n" bi her tîpekê re li hev dike.Ji bo ku her karakterek di nav de '\n' jî hebe, nimûneyeke mîna '[.\n]' bikar bînin. |
[...] | berhevoka karakteran.Her yek ji karakterên ku tê de hene li hev dike.Mînakî, '[abc]' dê bi "plai'a' di n". |
[^…] | Set karaktera neyînî.Bi her karakterê ku tê de nîn e li hev dike.Mînakî, '[^abc]' dê di "p" de "p" bihevre bibe. |
p1|p2|p3 | P1 an p2 an p3 li hev dike.Mînakî, 'z|xwarin' dê bi "z" an jî "xwarinê" re bibe hev. '(z|f)ood' bi "zood" an "xwarin" re têkildar e. |
* | Binbêja berê bi sifir an jî zêdetir caran li hev dike.Mînakî, zo* dê "z" û hem jî "zoo" bide hev. * bi {0,} re hevwate ye. |
+ | Yek an jî çend caran bi jêrîfroka pêşîn re li hev dike.Mînakî, 'zo+' dê bi "zo" û "zoo" re têkildar be, lê ne "z". + hevwateya {1,} ye. |
{n} | n jimareke ne-neyînî ye.Match diyarkirin n caran.Mînakî, 'o{2}' dê bi 'o'ya "Bob" re nebe hev, lê dê her du oyên di "xwarinê" de were hevber kirin. |
{n,m} | Hem m û hem jî n jimarên nerênî ne, ku n <= m.Bi kêmanî n caran û herî zêde jî m caran li hev dike. |
Nûçe
Piştî ku em hewcedariyên birêkûpêk ên jorîn fam bikin, em dikarin li gorî daxwazên xwe daxuyaniyên SQL bi vegotinên rêkûpêk binivîsin.Li jêr em ê çend mînakên piçûk rêz bikin (navê tabloyê: person_tbl ) da ku têgihîştina xwe kûrtir bikin:
Di qada nav de hemî daneyên ku bi 'st' dest pê dikin bibînin:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
Hemî daneyên ku bi 'ok' bi dawî dibin di qada nav de bibînin:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
Hemî daneyên ku tê de rêzika 'mar' heye di qada nav de bibînin:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
Hemî daneyan di qada navê de ku bi tîpek dengdêr dest pê dike an bi rêzika 'ok' diqede bibînin:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) parve kir " Meriv çawa bi îfadeyên birêkûpêk ên databasa MySQL re hevber dike? MySQL regexp wekî karanîna" dê ji we re bibe alîkar.
Bi xêr hatî bo parvekirina girêdana vê gotarê:https://www.chenweiliang.com/cwl-492.html
Hûn bi xêr hatin kanala Telegramê ya bloga Chen Weiliang da ku nûvekirinên herî dawî bistînin!
📚 Ev rêber nirxek pir mezin dihewîne, 🌟Ev derfetek kêm e, wê ji dest nede! ⏰⌛💨
Heke hûn hez dikin parve bikin û hez bikin!
Parvekirin û ecibandinên we motîvasyona meya domdar e!