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