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

Error parsing regexp: invalid or unsupported Perl syntax: `?=`

当我在 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