Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


REGEXP_COUNT

📄字数 700
👁️阅读量 加载中...

功能描述

计算正则表达式在字符串中匹配次数。

语法格式

sql
REGEXP_COUNT(expr1,expr2[,expr3[,expr4]])

输入参数

  • expr1:源字符串,VARCHAR类型。
  • expr2:正则表达式,VARCHAR类型。
  • expr3:可选参数,开始匹配的字符位置(默认为1),INTEGER类型。
  • expr4:可选参数,匹配模式,VARCHAR类型,支持以下匹配模式:
    • i:大小写不敏感。
    • c:大小写敏感。
    • n:允许句点(.)作为通配符去匹配换行符,如果省略该参数,则句点将不匹配换行符。
    • m:将源串视为多行,即将^$分别看作源串中任意位置任何行的开始和结束,而不是仅仅看作整个源串的开始或结束,如果省略该参数,则将源串看作一行。
    • x:忽略空格字符,默认情况下,空格字符与自身相匹配。

提示

  • 如果指定了多个相互矛盾的匹配选项,将使用最后一个选项。例如,如果指定'ic',将使用区分大小写的匹配;如果指定的选项不属于上述范围,则报错。
  • 如果不指定大小写敏感,是否区分大小写依照系统参数CATA_CASE_SENSITIVE的值确定(此参数的默认值区分大小写)。

输出结果

输出结果为INTEGER类型,任意输入参数为NULLexpr1expr2任意一个为空串,输出结果为NULL,若参数expr3为负,报错[E10065 L1 C8] 函数的第3个参数错误

示例

SQL
-- 示例1:查找'a'在'asdasadaa'中出现的次数。
SQL> SELECT REGEXP_COUNT('asdasadaa','a') FROM dual;

+-------+
| EXPR1 |
+-------+
| 5     |
+-------+

-- 示例2:查找'a'在'AaAaaB'中出现的次数,大小写敏感。
SQL> SELECT REGEXP_COUNT('AaAaaB', 'a', 1, 'c') FROM dual;

+-------+
| EXPR1 |
+-------+
| 3     |
+-------+