gpt4 book ai didi

regex - 使用 Golang 正则表达式查找一个整数后跟一个字符串

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

我想找到一个整数后跟术语“价格:”,无论是在输出中,我只需要打印必须排除术语“价格:”的整数。现在,我的代码是这样的,输出是 [Price: 100],但我只需要输出 100。

package main 

import (
"regexp"
"fmt"
)

const str = "Some strings. Price: 100$. Some strings123"

func main() {
re := regexp.MustCompile("Price:[[:space:]][0-9]+")
fmt.Println(re.FindAllString(str, -1))
}

最佳答案

您可以在数字模式周围使用捕获组并调用 re.FindStringSubmatch :

package main 

import (
"regexp"
"fmt"
)

const str = "Some strings. Price: 100$. Some strings123"

func main() {
re := regexp.MustCompile(`Price:\s*(\d+)`)
match := re.FindStringSubmatch(str)
if match != nil {
fmt.Println(match[1])
} else {
fmt.Println("No match!")
}
}

请注意,`Price:\s*(\d+)` 是原始字符串文字,您不必额外转义形成正则表达式转义的反斜杠,因此 \s* 匹配零个或多个空格,(\d+) 匹配并将 1+ 位数字捕获到此模式字符串文字中的第 1 组中。

关于regex - 使用 Golang 正则表达式查找一个整数后跟一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51875133/

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