0

我正在尝试使用 regex.h 在 c/c++ 中使用正则表达式。我正在尝试使用前瞻选项,例如:

(?=>#).*

为了在“#”之后提取字符串

由于某种原因,它无法找到任何匹配项。regex.h 是否支持前瞻/后视?我可以使用另一个库吗?

我在 linux 上使用 regex.h。

4

2 回答 2

1

我很确定 NSRegularExpression 只是 libicu 的包装器它确实支持前瞻。您的示例中有错字,正确的语法是(?=#).*根据链接。

但在这种情况下似乎并不需要它,为什么不只是#.*

于 2012-05-02T19:53:52.373 回答
1

我怀疑它真的是向后看,而不是向前看。那将是(?<=#).*,但为什么让它如此复杂?为什么不像#(.*)其他响应者所建议的那样使用 ,并将所需的文本从捕获组中提取出来?

另外,你真的在​​使用 NSRegularExpression 吗?考虑到它是 Apple iOS/MacOS 开发人员框架中的一个 Objective-C 类,这似乎不太可能。

于 2012-05-02T23:40:48.073 回答