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