【发布时间】:2015-01-02 11:52:07
【问题描述】:
我正在尝试在 Go 中使用负前瞻。
以下正则表达式:BBB(((?!BBB).)*)EEE
http://rubular.com/r/Zw1vopp1MF
但是,在 Go 中我得到:
error parsing regexp: invalid or unsupported Perl syntax: `(?!`
还有其他选择吗?
【问题讨论】:
-
您想要的预期输出是什么?
-
我想匹配 BBB 和 EEE 之间的所有内容。但是,如果存在 BBB something BBB something else EEE 的实例。我只想匹配“BBB 其他 EEE”
-
如果您非常确定独立的
B或BB不在字符串中,那么您唯一能做的就是regex101.com/r/aM5oU3/4。 -
如果可以,请使用答案,因为仅使用 Go 标准库会更轻松。 (更少的编译和分发问题以及其他 cgo 问题。)如果您出于某种原因急需兼容 Perl 的正则表达式,您可以查看其中一个 PCRE 适配器,例如 github.com/glenn-brown/golang-pkg-pcre
标签: regex go regex-lookarounds