REGEXP_COUNT用于为正则表达式搜索字符串,且返回正则表达式发生的时间信息。
语法
INTEGER REGEXP_COUNT
(
srcstr TEXT,
pattern TEXT,
position DEFAULT 1
modifier DEFAULT NULL
)
参数
参数名称 | 描述 |
---|
参数名称 | 描述 |
---|---|
srcstr | 指定要搜索的字符串 |
pattern | 指定REGEXP_COUNT要搜索的正则表达式 |
position | position是一个整数值,用于表明REGEXP_COUNT要在源字符串中开始搜索的位置。缺省值为1。 |
modifier | modifier用于指定控制模式匹配行为的值。缺省值为NULL。 |
关于PolarDB所支持的修改器的完整列表,请参见PostgreSQL核心文件。
示例
在下列简单示例中,REGEXP_COUNT返回的是在字符串'reinitializing'
中字母i的使用次数:
postgres=# SELECT REGEXP_COUNT('reinitializing', 'i', 1) FROM DUAL;
regexp_count
--------------
5
(1 row)
在第一个示例中,命令了REGEXP_COUNT开始在首位计数。如果我们要修改指令使其在第六位开始计数,那么就可以:
postgres=# SELECT REGEXP_COUNT('reinitializing', 'i', 6) FROM DUAL;
regexp_count
--------------
3
(1 row)
那么REGEXP_COUNT返回的就是3,且计数结果不包括任何出现在第六位之前的字母i。