Articulu Directory
basa di dati MySQLCumu l'espressione regulare currisponde?MySQL regexp cum'è usu
Espressioni rigulari MySQL
In i capituli precedenti avemu amparatu chì MySQL pò passà LIKE...% per fuzzy matching.
MySQL supporta ancu l'abbinamentu di l'altri espressioni regulari.L'operatore REGEXP hè utilizatu in MySQL per l'espressione regulare.
Se sapete PHP o Perl, hè abbastanza simplice, cum'è l'espressione regulare di MySQL hè simile à quelli di questi script.
I mudelli regularmente in a tavula seguente ponu esse appiicati à l'operatore REGEXP.
Modu | descrizzione |
---|---|
^ | Corrisponde à u principiu di a stringa di input.^ currisponde ancu à a pusizione dopu "\n" o "\r" se a pruprietà Multiline di l'ughjettu RegExp hè stabilita. |
$ | Corrisponde à a fine di a stringa di input.Se a pruprietà Multiline di l'ughjettu RegExp hè stabilita, $ currisponde ancu à a pusizione prima di "\n" o "\r". |
. | Corrisponde à qualsiasi caratteru unicu eccettu "\n".Per currisponde à qualsiasi caratteru cumpresu "\n", utilizate un mudellu cum'è "[.\n]". |
[...] | cullizzioni di caratteri.Corrisponde à qualsiasi di i caratteri cuntenuti.Per esempiu, "[abc]" currisponde à "plai'a' in n". |
[^…] | Set di caratteri negativu.Corrisponde à qualsiasi caratteru micca cuntenutu.Per esempiu, "[^abc]" currisponde à "p" in "plain". |
p1|p2|p3 | Match p1 o p2 o p3.Per esempiu, "z|food" currisponde à "z" o "food". '(z|f)ood' currisponde à "zood" o "food". |
* | Corrisponde à a sottoespressione precedente zero o più volte.Per esempiu, zo * currisponde à "z" cum'è "zoo". * hè equivalente à {0,}. |
+ | Corrisponde à a sottoespressione precedente una o più volte.Per esempiu, "zo+" currisponde à "zo" è "zoo", ma micca "z". + hè equivalente à {1,}. |
{n} | n hè un interu micca negativu.Corrisponde esattamente n volte.Per esempiu, "o{2}" ùn currisponde à "o" in "Bob", ma currisponde à i dui o in "food". |
{n,m} | Tramindui m è n sò interi non negativi, induve n <= m.Corrisponde à almenu n volte è à più volte m. |
Istanza
Dopu avè capitu i requisiti regulari sopra, pudemu scrive dichjarazioni SQL cù espressioni regulari secondu i nostri propri bisogni.Quì sottu listeremu uni pochi di picculi esempi (nome di a tavola: person_tbl ) per approfondisce a nostra intelligenza:
Truvate tutti i dati chì cumincianu cù "st" in u campu di nome:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
Truvate tutte e dati chì finiscinu cù "ok" in u campu di nome:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
Truvate tutte e dati chì cuntenenu a stringa "mar" in u campu di nome:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
Truvate tutte e dati in u campu di nome chì principia cù un caratteru vucali o finisce cù a stringa "ok":
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) hà spartutu "Cumu currisponde à l'espressioni regulari di a basa di dati MySQL? MySQL regexp like usage" vi aiuterà.
Benvenuti à sparte u ligame di stu articulu:https://www.chenweiliang.com/cwl-492.html
Benvenuti à u canali Telegram di u blog di Chen Weiliang per avè l'ultime aghjurnamenti!
📚 Questa guida cuntene un valore enormu, 🌟Questa hè una rara opportunità, ùn mancate micca! ⏰⌛💨
Condividi è mi piace se ti piace!
A vostra spartera è Mi piace sò a nostra motivazione cuntinua!