Hsqldb 简明教程

HSQLDB - Regular Expressions

HSQLDB 支持一些特殊符号,用于基于正则表达式和 REGEXP 运算符进行模式匹配操作。

以下是模式表,可与 REGEXP 运算符一起使用。

Pattern

What the Pattern Matches

^

Beginning of the string

$

End of the string

.

Any single character

[…​]

方括号内列出的任何字符

[^…​]

方括号内未列出的任何字符

p1

p2

p3

交替;与模式 p1、p2 或 p3 中的任何一个匹配

*

前一个元素的零个或多个实例

+

前一个元素的一个或多个实例

{n}

前一个元素的 n 个实例

{m,n}

前一个元素的 m 到 n 个实例

Example

让我们尝试不同的示例查询来满足我们的要求。查看以下给定的查询。

试用此查询以查找所有名称以“^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  |
+-----------------+