因为我对re2还是个新手,所以我想弄清楚如何在Go中使用像JS、C++或任何PCRE风格的积极前瞻(?=regex).

这里有一些我正在寻找的例子.

JS:

'foo bar baz'.match(/^[\s\S]+?(?=baz|$)/);

Python:

re.match('^[\s\S]+?(?=baz|$)', 'foo bar baz')
  • 注意:两个示例都匹配'foo bar '

非常感谢.

推荐答案

根据Syntax Documentation,此功能不受支持:

文本匹配前(?=re) re(不支持)

此外,从WhyRE2:

原则上,RE2不支持仅存在回溯解决方案的构造.因此,不支持反向引用和环视断言.

Go相关问答推荐

../golang/pkg/mod/github.com/wmentor/lemmas@v0.0.6/processor.go:72:9:未定义:令牌.进程

将类型定义为泛型类型实例化

JetBrains Goland,禁用突出显示测试文件

正确使用pgtype的方法

通过渠道和goroutines增值1000倍

通过 Terraform 中的 MapNestedAtribute 进行迭代

为什么 mux.Vars() 返回空的 map[]

如何将已知类型转换为指向switch 中类型参数的指针?

使用 LINQ 对内部数组进行排序

assert: mock: I don't know what to return because the method call was unexpected 在 Go 中编写单元测试时出错

go-echo中如何防止+转义

如何为导入的嵌入式 struct 文字提供值?

如何将一片 map 转换为一片具有不同属性的 struct

转到文本/模板模板:如何根据模板本身的值数组判断值?

如何在gin中获取参数值数组

什么是无效字符实体 &ccb

GOLANG 如何使用 http.FileServer 从模板目录加载某个 html 文件

Go 泛型是否与 LINQ to Objects 等效?

Gin中测试模式有什么用

空接口与泛型接口有何不同?