HSQLDB - регулярные выражения
HSQLDB поддерживает некоторые специальные символы для операции сопоставления с образцом на основе регулярных выражений и оператора REGEXP.
Ниже приводится таблица шаблонов, которые можно использовать вместе с оператором REGEXP.
Шаблон | Что соответствует шаблону |
---|---|
^ | Начало строки |
$ | Конец строки |
. | Любой одиночный персонаж |
[...] | Любой символ, указанный в квадратных скобках |
[^ ...] | Любой символ, не указанный в квадратных скобках |
p1 | p2 | p3 | Чередование; соответствует любому из шаблонов p1, p2 или p3 |
* | Ноль или более экземпляров предыдущего элемента |
+ | Один или несколько экземпляров предыдущего элемента |
{n} | n экземпляров предыдущего элемента |
{m, n} | от m до n экземпляров предыдущего элемента |
пример
Давайте попробуем разные примеры запросов, чтобы удовлетворить наши требования. Взгляните на следующие запросы.
Попробуйте этот запрос, чтобы найти всех авторов, чьи имена начинаются с '^ A'.
SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'^A.*');
После выполнения вышеуказанного запроса вы получите следующий результат.
+-----------------+
| author |
+-----------------+
| Abdul S |
| Ajith kumar |
+-----------------+
Попробуйте этот запрос, чтобы найти всех авторов, чьи имена оканчиваются на ul $.
SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'.*ul$');
После выполнения вышеуказанного запроса вы получите следующий результат.
+-----------------+
| author |
+-----------------+
| John Poul |
+-----------------+
Попробуйте этот запрос, чтобы найти всех авторов, чьи имена содержат "th".
SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'.*th.*');
После выполнения вышеуказанного запроса вы получите следующий результат.
+-----------------+
| author |
+-----------------+
| Ajith kumar |
| Abdul S |
+-----------------+
Попробуйте этот запрос, чтобы найти всех авторов, имя которых начинается с гласной (a, e, i, o, u).
SELECT author FROM tcount_tbl WHERE REGEXP_MATCHES(author,'^[AEIOU].*');
После выполнения вышеуказанного запроса вы получите следующий результат.
+-----------------+
| author |
+-----------------+
| Abdul S |
| Ajith kumar |
+-----------------+