在C ++ 11中,如果正则表达式的匹配相互交叉会发生什么?例如,如果源字符串是"ababa"
且正则表达式是"aba"
,首先如果我在字符串中迭代正则表达式的匹配项,是否有两个匹配项或只有一个匹配项?接下来,如果我使用regex_replace将"aba"
的所有实例替换为"C"
,那么最终结果是什么?
我无法测试,因为我无法访问支持regex的编译器。
答案 0 :(得分:2)
将有一个匹配,替换结果将为Cba
。
说明:
aba
并成功。aba
替换为C
(结果:Cba
)。aba
和C
之间)匹配ba
。a
之前)和下一个(在字符串末尾))。