doudou201701 2015-05-18 14:12
浏览 81
已采纳

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

Since I'm a bit new with re2, I'm trying to figure out how to use positive-lookahead (?=regex) like JS, C++ or any PCRE style in Go.

Here's some examples of what I'm looking for.

JS:

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

Python:

re.match('^[\s\S]+?(?=baz|$)', 'foo bar baz')
  • Note: both examples match 'foo bar '

Thanks a lot.

  • 写回答

2条回答 默认 最新

  • douxieti6851 2015-05-18 14:30
    关注

    According to the Syntax Documentation, this feature isn't supported:

    (?=re) before text matching re (NOT SUPPORTED)

    Also, from WhyRE2:

    As a matter of principle, RE2 does not support constructs for which only backtracking solutions are known to exist. Thus, backreferences and look-around assertions are not supported.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?