HSQLDB поддерживает некоторые специальные символы для операции сопоставления с образцом на основе регулярных выражений и оператора REGEXP.
Ниже приведена таблица паттернов, которую можно использовать вместе с оператором REGEXP.
Шаблон | Что шаблон соответствует |
---|---|
^ | Начало строки |
$ | Конец строки |
, | Любой отдельный персонаж |
[…] | Любой символ, указанный в квадратных скобках |
[^ …] | Любой символ, не указанный в квадратных скобках |
p1 | p2 | p3 | Чередование; соответствует любому из паттернов p1, p2 или p3 |
* | Ноль или более экземпляров предыдущего элемента |
+ | Один или несколько экземпляров предыдущего элемента |
{П} | 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].*');
После выполнения вышеуказанного запроса вы получите следующий вывод.