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