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].*');
После выполнения вышеуказанного запроса вы получите следующий вывод.