Oracle regexp中不平衡的`^`和`$`锚点

时间:2013-04-18 23:30:00

标签: regex oracle

为什么在某些情况下,字符串起始锚点的数量不等于字符串结尾锚点的数量?

regexp_count(chr(10)||'A'||chr(10)||'B', '^') = 2
regexp_count(chr(10)||'A'||chr(10)||'B', '$') = 1

UPD:
在多线模式下,失衡方向相反:

regexp_count(chr(10)||'A'||chr(10)||'B', '^', 1, 'mn') = 1 
regexp_count(chr(10)||'A'||chr(10)||'B', '$', 1, 'mn') = 3

fiddle

1 个答案:

答案 0 :(得分:12)

经过调查,Oracle支持部门得出结论,这个问题是一个错误。

错误16707134:REGEXP_COUNT个模式'^'和新线路意外行为