我有一些字符串,如下所示:
abc4back
abc4backpre
abc4front
abc4frontpre
abc3side
abc3sidepre
xyz4over
xyz4overpre
我只想用";abc4";但没有";pre";。到目前为止,我的正则表达式是:abc4.*(?!pre)
。
但是,当我运行此程序时,我得到了错误:error parsing regexp: invalid or unsupported Perl syntax: `(?!`
。
我现在知道这是因为在go中不支持lookahead。
但是,我不知道应该用什么表达式来代替?!
。有人知道什么有效吗?
您可以通过将多个否定字符作为来实现这一点
^abc4(?:.*(?:[^p].{2}|p[^r].{1}|pr[^e])|.{0,2})$
Regex Demo