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  |
+-----------------+