HSQLDB支持一些基于正则表达式和REGEXP运算符的模式匹配操作的特殊符号.
以下是模式表,可以与REGEXP运算符一起使用.
Pattern | 模式匹配 |
---|---|
^ | 字符串的开头 |
$ | 字符串的结尾 |
. | 任何单个字符 |
[...] | 方括号内列出的任何字符 |
[^ ...] | 方括号内未列出的任何字符 |
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 |+-----------------+
尝试此查询以查找所有作者name包含'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 |+-----------------+