为了账号安全,请及时绑定邮箱和手机立即绑定

使用正向回顾的正则表达式

使用正向回顾的正则表达式

Go
临摹微笑 2023-08-14 14:29:31
我正在尝试在 Go 中编写一个函数,它将替换foobar为foobaz,但前提是bar前面是foo。我尝试了以下方法:package mainimport (    "fmt"    "regexp")func main() {    re := regexp.MustCompile(`(?<=foo)bar`)    new := re.ReplaceAll([]byte("foobar"), []byte("baz"))    fmt.Println(string(new))}目标是让这个程序 print foobaz,但我却感到恐慌,因为正则表达式无法编译:panic: regexp: Compile(`(?<=foo)bar`): error parsing regexp: invalid or unsupported Perl syntax: `(?<`我怎样才能做到这一点?笔记我尝试过的一件事是将正则表达式替换为非捕获组:re := regexp.MustCompile(`(?:foo)bar`)但是,我发现程序随后打印baz而不是按foobaz预期打印。
查看完整描述

1 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

看起来你的问题只是静态字符串替换。可以简单地用字符串完成。


查看完整回答
反对 回复 2023-08-14
  • 1 回答
  • 0 关注
  • 141 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信