HSQLDB - wyrażenia regularne

HSQLDB obsługuje niektóre specjalne symbole do operacji dopasowywania wzorców na podstawie wyrażeń regularnych i operatora REGEXP.

Poniżej znajduje się tabela wzorca, której można używać wraz z operatorem REGEXP.

Wzór Jaki wzór pasuje
^ Początek łańcucha
$ Koniec łańcucha
. Dowolny pojedynczy znak
[…] Dowolny znak wymieniony w nawiasach kwadratowych
[^ ...] Dowolny znak niewymieniony w nawiasach kwadratowych
p1 | p2 | p3 Alternacja; pasuje do dowolnego ze wzorów p1, p2 lub p3
* Zero lub więcej wystąpień poprzedniego elementu
+ Co najmniej jedno wystąpienie poprzedniego elementu
{n} n wystąpień poprzedniego elementu
{m, n} m do n wystąpień poprzedniego elementu

Przykład

Wypróbujmy różne przykładowe zapytania, aby spełnić nasze wymagania. Spójrz na poniższe zapytania.

Wypróbuj to zapytanie, aby znaleźć wszystkich autorów, których nazwiska zaczynają się od „^ A”.

SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'^A.*');

Po wykonaniu powyższego zapytania otrzymasz następujące dane wyjściowe.

+-----------------+
|     author      |
+-----------------+
|     Abdul S     |
|    Ajith kumar  |
+-----------------+

Spróbuj tego zapytania, aby znaleźć wszystkich autorów, których nazwiska kończą się na „ul $”.

SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'.*ul$');

Po wykonaniu powyższego zapytania otrzymasz następujące dane wyjściowe.

+-----------------+
|     author      |
+-----------------+
|    John Poul    |
+-----------------+

Spróbuj tego zapytania, aby znaleźć wszystkich autorów, których nazwisko zawiera „th”.

SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'.*th.*');

Po wykonaniu powyższego zapytania otrzymasz następujące dane wyjściowe.

+-----------------+
|     author      |
+-----------------+
|    Ajith kumar  | 
|     Abdul S     |
+-----------------+

Spróbuj tego zapytania, aby znaleźć wszystkich autorów, których nazwiska zaczynają się od samogłoski (a, e, i, o, u).

SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'^[AEIOU].*');

Po wykonaniu powyższego zapytania otrzymasz następujące dane wyjściowe.

+-----------------+
|     author      |
+-----------------+
|     Abdul S     |
|    Ajith kumar  |
+-----------------+