gpt4 book ai didi

用于方法调用的字符串表示的正则表达式

转载 作者:数据小太阳 更新时间:2023-10-29 03:37:11 24 4
gpt4 key购买 nike

我有一个遵循特定模式的字符串,就像这样运算符(字段,值)

我想使用正则表达式来提取所有三个运算符、字段和值。我正在努力想出如何捕获这些的语法。在这种情况下,值也可以是字母数字,例如

“包含(名字,乔)”"lt(quantity, 2.5)"

最佳答案

使用类似这样的方法来捕获组,您可能希望限制使用 [] 接受的字符,请注意在正则表达式中使用 ` 和使用\转义 ():

func main() {
re := regexp.MustCompile(`(.+)\((.+),\s?(.+)\)`)
for _, t := range tests {
fmt.Println("result", re.FindStringSubmatch(t))
}
}

https://play.golang.org/p/43YLTafgQt

输出:

result [contains(field, value) contains field value]
result [contains(name, Joe) contains name Joe]
result [lt(quantity, 2.5) lt quantity 2.5]
result [plus(no,44) plus no 44]

根据您想要的严格程度,您可以使用 [a-z]+ 或类似的而不是 .+ 来仅匹配某些字符,但如果您不担心虚假值,这可能没问题。

关于用于方法调用的字符串表示的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45849468/

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