REGEXP_COUNT

说明

根据一定规则统计字符串中的数据出现的次数

语法

regexp_count ::=

参数

source_str

原字符串

pattern

正则表达式

position_str

指原字符串的起始位置。如果起始位置大于字符串长度则直接返回0

match_parameter

统计字符串的方式支持

i:大小写不敏感

c:大小写敏感

n:点号.不匹配换行符号

m:多行模式

x:扩展模式,忽略正则表达式中的空白字符

u:使用unicode字符集。

返回值

返回从指定位置开始被统计字符串出现的次数

示例

示例1: 使用REGEXP_COUNT函数统计字母、数字、下划线字符串出现的次数,大小写不敏感

--  使用REGEXP_COUNT函数统计字母、数字、下划线字符串出现的次数,大小写不敏感
SELECT regexp_count('test->regexp_count!','\w',1,'i');
REGEXP_COUNT(bigint)      |
--------------------------
16                        |
总数目:1

示例2: 使用REGEXP_COUNT函数从第4个位置统计非"t"字符串出现的次数,大小写敏感

--  使用REGEXP_COUNT函数从第4个位置统计非"t"字符串出现的次数,大小写敏感
SELECT regexp_count('test->regexp_count!','[^t]+',4,'c');
REGEXP_COUNT(bigint)      |
--------------------------
2                         |
总数目:1

示例3: 使用REGEXP_COUNT函数统计中文字符数

--  使用REGEXP_COUNT函数统计以 utf8 编码保存中文字符数
SELECT regexp_count(convert_encoding_using('123中文asd中文123中文sdf', 'utf8'),'[\x{4e00}-\x{9fff}]',1,'u');
REGEXP_COUNT(bigint)      |
--------------------------
6                         |
总数目:1