Il miglior tutorial MySQL espressioni regolari Nel 2024, in questo tutorial puoi imparare MySQL espressioni regolari
Nel paragrafo precedente abbiamo appreso attraverso il MySQL COME it.% per corrispondenza fuzzy.
MySQL supporta anche altri corrispondenza di espressione regolare, MySQL operatore REGEXP utilizzare corrispondenza di espressioni regolari.
Se si conosce PHP o Perl, allora l'operazione è molto semplice, perché MySQL espressione regolare corrispondenza simile a questi script.
Nella tabella seguente modalità normale può essere utilizzato nell'operatore REGEXP.
modo | descrizione |
---|---|
^ | Corrisponde all'inizio della stringa. Se si imposta la proprietà MultiLine dell'oggetto RegExp, ^ partite anche '\ n' posizione o '\ r' dopo. |
$ | Partita la fine di ingresso della stringa. Se si imposta l'oggetto di proprietà RegExp multilinea, anche corrispondenza $ posizione '\ n' o '\ r' prima. |
. | Corrisponde a qualsiasi carattere singolo tranne "\ n" è. Per far corrispondere tra cui '\ n', tra cui tutti i caratteri, come l'uso di '[. \ N]' modalità. |
[it.] | Set di caratteri. Corrisponde a qualsiasi carattere incluso. Per esempio, '[abc]' corrisponde a "pianura" nella 'a'. |
[^ it.] | set di caratteri negativo. Corrisponde a qualsiasi carattere che non è incluso. Per esempio, '[^ abc]' partite "pianura" nella 'p'. |
p1 | p2 | p3 | Partita p1, p2, p3 o. Per esempio, 'z | cibo' in grado di abbinare la "z" o "cibo". '(Z | f) ood' corrisponderà "zood" o "cibo". |
* | Partite precedenti subexpression zero o più volte. Ad esempio, zo * può abbinare il "z" e "zoo". * Equivalente a {0,}. |
+ | Partite precedenti subexpression una o più volte. Ad esempio, "zo + 'corrisponderà" zo "e" zoo ", ma non può competere con la" z ". + È equivalente a {1}. |
{N} | n è un numero intero non negativo. Corrispondenti ai n volte determinati. Per esempio, 'O {2}' non corrisponde al "Bob" nel 'o', ma può abbinare il "cibo" nei due o. |
{N, m} | m e n sono numeri interi non negativi, dove n <= m. Partita almeno n volte e abbinare fino a m volte. |
Una volta che sai esigenze più regolare, possiamo essere più alle proprie esigenze di scrivere SQL con un'espressione regolare. Di seguito elencheremo alcuni piccoli esempi (nome della tabella: person_tbl) per approfondire la nostra comprensione:
Trovate tutti il nome del campo di dati a 'st' inizio con:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
Trovate tutti il nome del campo di dati a 'OK' per il finale:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
Trovare un campo nome contiene stringhe tutti i dati 'Mar':
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
Trovare un campo di nome per cominciare le vocali e con finale 'ok' della stringa di tutti i dati:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';