一尘不染

对re2使用正向超前(?= regex)

go

由于我对re2有点陌生,所以我试图找出如何(?=regex)
Go中
使用正向超前(例如JS,C ++或任何PCRE样式)。

这是我要寻找的一些示例。

JS:

'foo bar baz'.match(/^[\s\S]+?(?=baz|$)/);

蟒蛇:

re.match('^[\s\S]+?(?=baz|$)', 'foo bar baz')
  • 注意:两个示例都匹配 'foo bar '

非常感谢。


阅读 207

收藏
2020-07-02

共1个答案

一尘不染

根据语法文档,不支持此功能:

(?=re) 文本匹配之前re(不支持)

另外,从WhyRE2

原则上,RE2不支持仅存在回溯解决方案的构造。因此,不支持反向引用和环顾断言。

2020-07-02