Directori d'articles
Base de dades MySQLCom coincideix l'expressió regular?MySQL ús com l'expressió regular
Expressions regulars MySQL
En els capítols anteriors hem après que MySQL pot ser M'AGRADA...% per a la concordança difusa.
MySQL també admet la concordança d'altres expressions regulars. L'operador REGEXP s'utilitza a MySQL per a la concordança d'expressions regulars.
Si coneixeu PHP o Perl, és bastant senzill, ja que la concordança d'expressions regulars de MySQL és similar a la d'aquests scripts.
Els patrons regulars de la taula següent es poden aplicar a l'operador REGEXP.
| Mode | descripció |
|---|---|
| ^ | Coincideix amb l'inici de la cadena d'entrada.^ també coincideix amb la posició després de '\n' o '\r' si s'estableix la propietat Multiline de l'objecte RegExp. |
| $ | Coincideix amb el final de la cadena d'entrada.Si s'estableix la propietat Multiline de l'objecte RegExp, $ també coincideix amb la posició abans de "\n" o "\r". |
| . | Coincideix amb qualsevol caràcter excepte "\n".Per fer coincidir qualsevol caràcter inclòs '\n', utilitzeu un patró com '[.\n]'. |
| [...] | col·lecció de personatges.Coincideix amb qualsevol dels caràcters continguts.Per exemple, "[abc]" coincidiria amb "plai'a' en n". |
| [^…] | Conjunt de caràcters negatius.Coincideix amb qualsevol caràcter no contingut.Per exemple, "[^abc]" coincidiria amb "p" a "sense". |
| p1|p2|p3 | Coincideix p1 o p2 o p3.Per exemple, "z|menjar" coincidiria amb "z" o amb "menjar". '(z|f)ood' coincideix amb "zood" o "menjar". |
| * | Coincideix amb la subexpressió anterior zero o més vegades.Per exemple, zo* coincidiria amb "z" així com amb "zoo". * és equivalent a {0,}. |
| + | Coincideix amb la subexpressió anterior una o més vegades.Per exemple, "zo+" coincidiria amb "zo" i "zoo", però no amb "z". + és equivalent a {1,}. |
| {n} | n és un nombre enter no negatiu.Coincideix exactament n vegades.Per exemple, "o{2}" no coincidiria amb la "o" a "Bob", però coincidiria amb les dues o a "menjar". |
| {n,m} | Tant m com n són nombres enters no negatius, on n <= m.Coincideix almenys n vegades i com a màxim m vegades. |
Instància
Després d'entendre els requisits habituals anteriors, podem escriure sentències SQL amb expressions regulars segons els nostres propis requisits.A continuació enumerarem alguns petits exemples (nom de la taula: person_tbl ) per aprofundir en la nostra comprensió:
Cerqueu totes les dades que comencen per 'st' al camp del nom:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
Cerqueu totes les dades que acabin amb "d'acord" al camp del nom:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
Cerqueu totes les dades que contenen la cadena "mar" al camp del nom:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
Cerqueu totes les dades al camp del nom que comencin amb un caràcter de vocal o acabin amb la cadena "d'acord":
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
Bloc d'Hope Chen Weiliang ( https://www.chenweiliang.com/ ) compartit "Com fer coincidir les expressions regulars de la base de dades MySQL? L'ús com l'expressió regular de MySQL" us ajudarà.
Benvingut a compartir l'enllaç d'aquest article:https://www.chenweiliang.com/cwl-492.html
Per desbloquejar més trucs ocults🔑, us convidem a unir-vos al nostre canal de Telegram!
Comparteix i m'agrada si t'agrada! Els vostres likes i comparticions són la nostra motivació continuada!