gpt4 book ai didi

regex - 使用正则表达式的 Go-lang 错误

转载 作者:IT王子 更新时间:2023-10-29 01:39:30 25 4
gpt4 key购买 nike

我在 go 中使用“regexp”包的正则表达式有一点问题。

这个正则表达式应该返回括号“[]”内的子字符串

@class my-div [button] { 上使用的

\[(.*?)\] 应该返回 [button, hello ]

所以,在 Go 中我尝试了类似的东西:

re := regexp.MustCompile('\[(.*?)\]')

fmt.Println(re.MatchString(header)) // false

return re.FindString(header) // header = "@class my-div [button] {"

还有:

re := regexp.QuoteMeta("\\\[\(\.\*\?\)\\\]") // <= Changed

fmt.Println(re.MatchString(header)) // false

return re.FindString(header) // header = "@class my-div [button] {"

还有许多其他变体,但仍然不起作用...

我也试过使用在线正则表达式测试器进行 go 测试,效果很好,所以我真的不明白为什么它在 go 中不起作用.... http://fiddle.re/57y4c6

Playground :http://play.golang.org/p/Z_-1EEKgaW

请帮助我,谢谢您抽出时间!

最佳答案

如果您只对正则表达式使用原始字符串文字,而不是尝试双重转义保留字符,那就容易多了。这将正确编译,并且与您发布的 fiddle.re 示例相同:

re := regexp.MustCompile(`\[(.*?)\]`)

关于regex - 使用正则表达式的 Go-lang 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31518130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com