gpt4 book ai didi

regex - 在 Go 中不向前看就匹配前面的单词

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

我正在尝试从查询字符串中检索表格(例如,“select foo from bar limit 10”应该返回“bar”)。

我相信' (?<=\bfrom\\s)(\\w+) ' 是我一直在寻找的东西,但 Go regexp 包不支持它。 ( http://play.golang.org/p/MJ3DUk6uuC )

最佳答案

您仍然可以检测到“from xxx”,而无需查看先行语法 not supported通过 re2 .
由于您随后会捕获“from”,因此您需要将其从结果中删除。

参见 playground :

r := regexp.MustCompile("(?:\\bfrom\\s)(\\w+)")
res := r.FindAllString(strings.ToLower("select foo from bar limit 10"), 1)
if len(res) != 1 {
panic("unable")
}
i := strings.LastIndex(res[0], " ")
fmt.Println(res[0][i+1:], i)

输出:

bar 4

关于regex - 在 Go 中不向前看就匹配前面的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27806236/

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