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