我有/components/component[name=fan/10 index=55]/cpu我想要一个regex给我fan/10和的55。我尝试过类似的东西=(.*)\s,但不起作用。但我猜它必须以某种方式使用捕获组( () )来完成?
2 回答
呼唤远方
TA贡献1856条经验 获得超11个赞
您可以使用
=([^\]\s]+)
请参阅正则表达式演示
细节
=
- 等号([^\]\s]+)
- 捕获组 1:除 和 空格之外的任何 1 个或多个字符]
。
去演示:
package main
import (
"fmt"
"regexp"
)
func main() {
s := "/components/component[name=fan/10 index=55]/cpu"
rx := regexp.MustCompile(`=([^\]\s]+)`)
matches := rx.FindAllStringSubmatch(s, -1)
for _, v := range matches {
fmt.Println(v[1])
}
}
输出:
fan/10
55
慕侠2389804
TA贡献1719条经验 获得超6个赞
您可以尝试使用这样的东西:
s := "/components/component[name=fan/10 index=55]/cpu"
re := regexp.MustCompile(`=([^\s\]]*)`)
matches := re.FindAllStringSubmatch(s, -1)
fmt.Println(matches)
结果将是:
[[=fan/10 fan/10] [=55 55]]
- 2 回答
- 0 关注
- 108 浏览
添加回答
举报
0/150
提交
取消