HSQLDB - Espressioni regolari
HSQLDB supporta alcuni simboli speciali per operazioni di corrispondenza dei modelli basate su espressioni regolari e l'operatore REGEXP.
Di seguito è riportata la tabella del modello, che può essere utilizzata insieme all'operatore REGEXP.
Modello | Ciò che il modello corrisponde |
---|---|
^ | Inizio della stringa |
$ | Fine della stringa |
. | Qualsiasi singolo carattere |
[...] | Qualsiasi carattere elencato tra parentesi quadre |
[^ ...] | Qualsiasi carattere non elencato tra parentesi quadre |
p1 | p2 | p3 | Alternanza; corrisponde a uno qualsiasi dei modelli p1, p2 o p3 |
* | Zero o più istanze dell'elemento precedente |
+ | Una o più istanze dell'elemento precedente |
{n} | n istanze dell'elemento precedente |
{m, n} | da m a n istanze dell'elemento precedente |
Esempio
Proviamo con diverse query di esempio per soddisfare i nostri requisiti. Dai un'occhiata alle seguenti domande.
Prova questa query per trovare tutti gli autori il cui nome inizia con "^ A".
SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'^A.*');
Dopo l'esecuzione della query precedente, riceverai il seguente output.
+-----------------+
| author |
+-----------------+
| Abdul S |
| Ajith kumar |
+-----------------+
Prova questa query per trovare tutti gli autori il cui nome termina con "ul $".
SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'.*ul$');
Dopo l'esecuzione della query precedente, riceverai il seguente output.
+-----------------+
| author |
+-----------------+
| John Poul |
+-----------------+
Prova questa query per trovare tutti gli autori il cui nome contiene "th".
SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'.*th.*');
Dopo l'esecuzione della query precedente, riceverai il seguente output.
+-----------------+
| author |
+-----------------+
| Ajith kumar |
| Abdul S |
+-----------------+
Prova questa query per trovare tutti gli autori il cui nome inizia con la vocale (a, e, i, o, u).
SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'^[AEIOU].*');
Dopo l'esecuzione della query precedente, riceverai il seguente output.
+-----------------+
| author |
+-----------------+
| Abdul S |
| Ajith kumar |
+-----------------+