登录
首页 >  Golang >  Go问答

正则表达式解析错误:不支持或无效的Perl语法: `?=`

来源:stackoverflow

时间:2024-02-22 23:18:27 155浏览 收藏

Golang不知道大家是否熟悉?今天我将给大家介绍《正则表达式解析错误:不支持或无效的Perl语法: `?=`》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

问题内容

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

恐慌:正则表达式:编译(.+?(?=sometext)):解析正则表达式时出错:无效或不受支持的 perl 语法:(?=)

regexp.MustCompile(`.+?(?=someText)`)

这可能与环视有关,但我不确定解决方案是什么,因为我对正则表达式没有太多经验。


解决方案


从第一个问号来看,您似乎正在尝试获取第一次出现 sometext 之前的子字符串。如果事实确实如此,您可以使用它作为替代方案:

package main
import "strings"

func main() {
   s := "March someText April someText"
   n := strings.Index(s, "someText")
   s = s[:n]
   println(s == "March ")
}

https://golang.org/pkg/strings#Index

好了,本文到此结束,带大家了解了《正则表达式解析错误:不支持或无效的Perl语法: `?=`》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>