解析regexp时出错:Perl语法无效或不受支持:`(?!

当我在golang中尝试此正则表达式时,出现正则表达式解析错误。 </ p>


错误解析正则表达式:无效或不受支持的Perl语法:(?!</ code> </ p>
</ blockquote>

<预> <代码> regexp.MustCompile( “^(?亮*亮\ S +写道:。?)(在\ S(+)中写道:?)$”),
</代码 > </ pre>

有人可以告诉我为什么它不起作用并帮助我解决此问题吗?</ p>

谢谢</ p>
</ div>

展开原文

原文

When I try this regex in golang I'm getting regex parsing error.

error parsing regexp: invalid or unsupported Perl syntax: (?!

regexp.MustCompile("^(?!On.*On\\s.+?wrote:)(On\\s(.+?)wrote:)$"),

Can someone tell me why its not working and help me to fix this issue?

Thanks

duangan6636
duangan6636 Goregex不支持环视,因此,在每种情况下,变通可能都是唯一的。
一年多之前 回复
dongpinken0498
dongpinken0498 我有同样的问题,并试图重现它。如果我知道这应该匹配什么,这将有所帮助,这样我就可以将解决方案应用于我的用例。
大约 2 年之前 回复
duancunsu9209
duancunsu9209 谢谢..
大约 4 年之前 回复
duai1683
duai1683 使用regexp.MustCompile(“^On\\s(。+?)wrote:$”)和regexp.MustCompile(“^On。*On\\s。+?wrote:”)并检查第一个是否为true第二个是错误的。
大约 4 年之前 回复
dpdbu24262
dpdbu24262 感谢您的链接。还有其他方法吗?
大约 4 年之前 回复
dongzhina7098
dongzhina7098 有其他替代方法可以使其正常工作吗?
大约 4 年之前 回复
doulouxun6756
doulouxun6756 (?!re)文字与此处页面上的re不匹配(不支持)
大约 4 年之前 回复
dongzhu0327
dongzhu0327 goregexp软件包使用RE2语法,而不是PCREgithub.com/google/re2/wiki/Syntax
大约 4 年之前 回复

1个回答



正则表达式不支持环视。</ p>

作为一种替代方法,您可以使用</ p >

  regexp.MustCompile(“ ^ On \ s(。+?)write:$”)
</ code> </ pre>

和< /p>

regexp.MustCompile( “?^亮*亮\ S +中写道:”)
</代码> </ PRE>

并检查第一个是否匹配字符串,第二个不匹配。</ p>

您还可以添加可选的捕获组(。* On)?</ code> </ p >

 <代码> regexp.MustCompile( “^开(*开)\ S +写道:??”)
</代码> </ PRE>

检查是否存在匹配项,如果第1组以 On </ code>结尾,则返回 true </ em>-如果是,则返回 false </ em>,否则返回 是</ em>。</ p>
</ div>

展开原文

原文

Go regex does not support lookarounds.

As a workaround, you may use

regexp.MustCompile("^On\\s(.+?)wrote:$")

and

regexp.MustCompile("^On.*On\\s.+?wrote:")

and check if the first one matches the string and the second does not.

You could also add an optional capturing group (.*On)?

regexp.MustCompile("^On(.*On)?\\s.+?wrote:")

and check if there is a match and return true if the Group 1 ends with On - if yes, return false, else true.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐