Directory articoli
Database MySQLCome corrisponde l'espressione regolare?MySQL regexp come l'utilizzo
Espressioni regolari MySQL
Nei capitoli precedenti abbiamo imparato che MySQL può esserlo COME...% per la corrispondenza sfocata.
MySQL supporta anche la corrispondenza di altre espressioni regolari.L'operatore REGEXP viene utilizzato in MySQL per la corrispondenza delle espressioni regolari.
Se conosci PHP o Perl, è abbastanza semplice, poiché la corrispondenza delle espressioni regolari di MySQL è simile a quelle di questi script.
I modelli regolari nella tabella seguente possono essere applicati all'operatore REGEXP.
modo | 描述 |
---|---|
^ | Corrisponde all'inizio della stringa di input.^ corrisponde anche alla posizione dopo '\n' o '\r' se è impostata la proprietà Multiline dell'oggetto RegExp. |
$ | Corrisponde alla fine della stringa di input.Se è impostata la proprietà Multiline dell'oggetto RegExp, $ corrisponde anche alla posizione prima di '\n' o '\r'. |
. | Corrisponde a qualsiasi singolo carattere tranne "\n".Per trovare la corrispondenza con qualsiasi carattere incluso '\n', utilizza uno schema come '[.\n]'. |
[...] | raccolta di caratteri.Corrisponde a uno qualsiasi dei caratteri contenuti.Ad esempio, '[abc]' corrisponderebbe a "plai'a' in n". |
[^…] | Set di caratteri negativi.Corrisponde a qualsiasi carattere non contenuto.Ad esempio, '[^abc]' corrisponderebbe a 'p' in "plain". |
p1|p2|p3 | Corrisponde a p1 o p2 o p3.Ad esempio, 'z|food' corrisponderebbe a "z" o "food". '(z|f)ood' corrisponde a "zood" o "cibo". |
* | Corrisponde alla sottoespressione precedente zero o più volte.Ad esempio, zo* corrisponderebbe sia a "z" che a "zoo". * equivale a {0,}. |
+ | Corrisponde alla sottoespressione precedente una o più volte.Ad esempio, 'zo+' corrisponderebbe a "zo" e "zoo", ma non a "z". + equivale a {1,}. |
{non} | n è un numero intero non negativo.Corrisponde esattamente n volte.Ad esempio, 'o{2}' non corrisponderebbe alla 'o' in "Bob", ma corrisponderebbe a entrambe le o in "food". |
{m} | Sia m che n sono interi non negativi, dove n <= m.Corrisponde almeno n volte e al massimo m volte. |
Esempio
Dopo aver compreso i requisiti regolari di cui sopra, possiamo scrivere istruzioni SQL con espressioni regolari in base ai nostri requisiti.Di seguito elencheremo alcuni piccoli esempi (nome tabella: person_tbl ) per approfondire la nostra comprensione:
Trova tutti i dati che iniziano con 'st' nel campo del nome:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
Trova tutti i dati che terminano con "ok" nel campo del nome:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
Trova tutti i dati contenenti la stringa 'mar' nel campo del nome:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
Trova tutti i dati nel campo del nome che inizia con un carattere vocale o termina con la stringa 'ok':
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
Speranza Chen Weiliang Blog ( https://www.chenweiliang.com/ ) ha condiviso "Come abbinare le espressioni regolari del database MySQL? MySQL regexp like usage" ti aiuterà.
Benvenuti a condividere il link di questo articolo:https://www.chenweiliang.com/cwl-492.html
Benvenuto nel canale Telegram del blog di Chen Weiliang per ricevere gli ultimi aggiornamenti!
📚 Questa guida contiene un valore enorme, 🌟Questa è un'opportunità rara, non perderla! ⏰⌛💨
Condividi e metti mi piace se ti va!
La tua condivisione e i tuoi like sono la nostra continua motivazione!