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