Директориум за статии
Како да се изврши совпаѓање на регуларни изрази во MySQL база на податоци ? Како да се користи MySQL regexp?
MySQL регуларни изрази
Во претходните поглавја, научивме дека MySQL може да користи LIKE …% за нејасно совпаѓање.
MySQL исто така поддржува совпаѓање на други правилни изрази.Операторот REGEXP се користи во MySQL за совпаѓање на регуларни изрази.
Ако знаете PHP или Perl, тоа е прилично едноставно, бидејќи совпаѓањето на редовните изрази на MySQL е слично на оние на овие скрипти.
Редовните обрасци во следната табела може да се применат на операторот REGEXP.
| Режим | 描述 |
|---|---|
| ^ | Се совпаѓа со почетокот на влезната низа.^ исто така се совпаѓа со позицијата по '\n' или '\r' ако е поставено својството Multiline на објектот RegExp. |
| $ | Се совпаѓа со крајот на влезната низа.Ако е поставено својството Multiline на објектот RegExp, $ исто така се совпаѓа со позицијата пред '\n' или '\r'. |
| . | Се совпаѓа со кој било знак освен „\n“.За да одговарате на кој било знак, вклучително и „\n“, користете шема како „[.\n]“. |
| [...] | колекција на ликови.Се совпаѓа со кој било од содржаните знаци.На пример, „[abc]“ би се совпаднала со „plai„а“ во n“. |
| [^…] | Збир на негативни знаци.Се совпаѓа со кој било знак што не е содржан.На пример, „[^abc]“ би се совпаднала со „p“ во „обично“. |
| p1|p2|p3 | Се совпаѓа со p1 или p2 или p3.На пример, „z|храна“ би одговарала или со „z“ или „храна“. „(z|f)ood“ се совпаѓа со „zood“ или „food“. |
| * | Се совпаѓа со претходниот потизраз нула или повеќе пати.На пример, zo* ќе одговара на „z“ како и на „зоолошката градина“. * е еквивалентно на {0,}. |
| + | Се совпаѓа со претходниот потизраз еден или повеќе пати.На пример, „зо+“ би одговарал на „зо“ и „зоо“, но не и „з“. + е еквивалентно на {1,}. |
| {n} | n е ненегативен цел број.Се совпаѓа точно n пати.На пример, „o{2}“ не би се совпаѓало со „o“ во „Bob“, но би се совпаѓало со двете o во „храна“. |
| {n, m} | И 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$';
Се надеваме дека статијата „Како да се комбинира користењето на регуларни изрази во MySQL база на податоци? Употреба на MySQL regexp како“ споделена на блогот на Чен Вејлијанг ( https://www.chenweiliang.com/ ) ќе ви биде корисна.
Слободно споделете го линкот до овој напис: https://www.chenweiliang.com/cwl-492.html
