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