Oracle兼容-函数-REGEXP_COUNT()函数


1. 语法

  1. REGEXP_COUNT ( source_char, pattern [, position [, match_param]])

2. 定义和用法

REGEXP_COUNT 函数的作用是统计正则匹配字符串 pattern 在 字符串 source_char 中出现的次数。如果未找到匹配结果,则返回0。

  • source_char:需要查找匹配的字符串。
  • pattern:正则表达式或字符文本。
  • position:正整数,查找匹配开始的位置。
  • match_param:正则匹配规则参数,支持下面几个可选值(如果未设置该参数则系统默认不区分大小写):
    • c:区分大小写的匹配。
    • i:不区分大小写的匹配,默认匹配规则。
    • m:多行模式。识别字符串中的行终止符。默认行为是仅在字符串表达式的开头和结尾匹配行终止符。
    • n: 采用句点.匹配行终止符。默认是 .匹配在行尾停止。
    • n: 采用句点.匹配行终止符。如果省略该参数,则句点将不匹配换行符。
    • u:仅匹配 Unix 的行结尾。只有换行符被识别为以 ., ^ 和 $ 结尾的行。

3. 示例

  1. -- 1.参数match_param区分大小写
  2. greatsql> SELECT REGEXP_COUNT('GreatSQL', 'greatsql', 1, 'c');
  3. +----------------------------------------------+
  4. | REGEXP_COUNT('GreatSQL', 'greatsql', 1, 'c') |
  5. +----------------------------------------------+
  6. | 0 |
  7. +----------------------------------------------+
  8. -- 2.参数match_param不区分大小写
  9. greatsql> SELECT REGEXP_COUNT('GreatSQL', 'greatsql', 1, 'i');
  10. +----------------------------------------------+
  11. | REGEXP_COUNT('GreatSQL', 'greatsql', 1, 'i') |
  12. +----------------------------------------------+
  13. | 1 |
  14. +----------------------------------------------+
  15. -- 3.表达式匹配个数,区分大小写
  16. greatsql> SELECT REGEXP_COUNT('GreatSQL', '[a-z]', 1, 'c');
  17. +-------------------------------------------+
  18. | REGEXP_COUNT('GreatSQL', '[a-z]', 1, 'c') |
  19. +-------------------------------------------+
  20. | 4 |
  21. +-------------------------------------------+
  22. -- 4.表达式匹配个数,不区分大小写
  23. greatsql> SELECT REGEXP_COUNT('GreatSQL', '[a-z]', 1, 'i');
  24. +-------------------------------------------+
  25. | REGEXP_COUNT('GreatSQL', '[a-z]', 1, 'i') |
  26. +-------------------------------------------+
  27. | 8 |
  28. +-------------------------------------------+
  29. 5.多行模式,以.作为换行匹配,
  30. greatsql> SELECT REGEXP_COUNT('fo
  31. fa
  32. ^
  33. $
  34. ^', '.',1,'mn');
  35. +------------------------------------------+
  36. | 12 |
  37. +------------------------------------------+

问题反馈

联系我们

扫码关注微信公众号

greatsql-wx