当我在golang中尝试这个正则表达式时,我得到正则表达式解析错误.
解析regexp时出错:Perl语法无效或不受支持:
(?!
regexp.MustCompile("^(?!On.*On\\s.+?wrote:)(On\\s(.+?)wrote:)$"),
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我为什么它不起作用并帮助我解决这个问题?
谢谢
Go正则表达式不支持环顾四周。
作为解决方法,您可以使用
regexp.MustCompile("^On\\s(.+?)wrote:$")
Run Code Online (Sandbox Code Playgroud)
和
regexp.MustCompile("^On.*On\\s.+?wrote:")
Run Code Online (Sandbox Code Playgroud)
并检查第一个是否匹配字符串,第二个不匹配。
您还可以添加一个可选的捕获组 (.*On)?
regexp.MustCompile("^On(.*On)?\\s.+?wrote:")
Run Code Online (Sandbox Code Playgroud)
并检查是否有匹配,返回真,如果第一组结束与On-如果是,则返回假,否则真。
| 归档时间: |
|
| 查看次数: |
6947 次 |
| 最近记录: |