HSQLDB – 正则表达式

HSQLDB – 正则表达式


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

尝试此查询以查找名称包含“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  |
+-----------------+

觉得文章有用?

点个广告表达一下你的爱意吧 !😁