确实在跑
regex pattern("([a-z])((?!\\1)[a-z])");
cout << regex_match("aa", pattern) << endl;
Run Code Online (Sandbox Code Playgroud)
导致输出"1",但匹配的第一组是"a",如果相反,我运行
regex pattern("([a-z])((?!a)[a-z])");
cout << regex_match("aa", pattern) << endl;
Run Code Online (Sandbox Code Playgroud)
我按预期得到"0".
请注意,完全相同的正则表达式在Python 3中的工作方式正常,即运行
re.match("([a-z])((?!\\1)[a-z])", "aa")
Run Code Online (Sandbox Code Playgroud)
不产生任何匹配.有人能解释一下这里发生了什么吗?
仅供参考,我使用带有标志-O2和-std = c ++ 11的g ++(tdm64-1)5.1.0.
| 归档时间: |
|
| 查看次数: |
879 次 |
| 最近记录: |