【发布时间】:2013-04-12 06:24:38
【问题描述】:
为什么在某些情况下,字符串开始锚的数量不等于字符串结束锚的数量?
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
【问题讨论】:
-
看起来像一个错误。
chr(10)后跟任何匹配 2^这对于单行模式来说是无稽之谈 -
@AlexPoole - 你说“总是”? :-) 查看我更新的问题。
-
不要关闭这个问题。
-
@EgorSkriptunoff - 我知道一旦我写了它就会回来咬我*8-)。但似乎是
n修饰符破坏了您的更新版本;只需m似乎还可以。 (这是在 11.2.0.2 上;尚未测试任何其他版本,但不太可能在 11gR1 上更好,并且在此之前不存在。在 MOS 上看不到任何相关内容)。