我正在尝试使用regex.h在c / c ++中使用正则表达式。 我正在尝试使用前瞻选项,例如:
(?=>#).*
为了在'#'之后提取字符串
由于某种原因,它无法找到任何匹配项。 regex.h是否支持lookahead / lookbehind?我可以使用另一个图书馆吗?
我在linux上使用regex.h。
答案 0 :(得分:1)
我非常确定NSRegularExpression只是libicu的包装器,它支持前瞻。您的示例中有拼写错误,根据链接,正确的语法为(?=#).*
。
但在这种情况下似乎并不需要,为什么不只是#.*
?
答案 1 :(得分:1)
我怀疑你在谈论它真的是后视,而不是前瞻。那将是(?<=#).*
,但为什么要这么复杂呢?为什么不像其他一些响应者建议的那样使用#(.*)
,并将所需的文本从捕获组中拉出来?
另外,你真的使用NSRegularExpression吗?考虑到它是Apple的iOS / MacOS开发人员框架中的Objective-C类,这似乎不太可能。