【发布时间】:2019-10-30 13:07:11
【问题描述】:
我遇到了 C++ 标准正则表达式库未编译递归正则表达式的问题。
在互联网上查找,我发现这是一个众所周知的问题,人们建议使用 boost 库。这是罪魁祸首:
\\((?>[^()]|(?R))*\\)|\\w+
我要做的基本上是使用这个正则表达式根据空格和括号拆分语句(包括括号内平衡括号的情况),但是显示如何使用 boost 执行此操作的每段代码都无法正常工作我不知道为什么。提前致谢。
【问题讨论】:
-
请添加不起作用的代码和具有预期结果的示例字符串。
-
到目前为止你做了什么?如果我们不知道您尝试了什么,我们将无法帮助您。我们可能会建议您已经知道不适合您的东西,这会浪费我们和您的时间。
-
那么它匹配的问题是什么?试试
R"((\((?:[^()]++|(?1))*\))|\w+)" -
谢谢! R"...." 解决了我的问题!