"([\w|-]+)\s*:\s*((-?\d+)(\.\d+)?)"
我听说这与Golang 中的{}
:{}格式匹配
我想捕获loss(...) : {}
字符串
例如:
Total: 0:06:53 | ETA: 0:08:26 | loss: 1.1260 | loss_2d: 0.1125 | loss_3d_rel: 0.3900 | loss_3d_abs: 0.1651 | loss_smpl: 0.3662
我想要:
loss: 1.1260
loss_2d: 0.1125
loss_3d_rel: 0.3900
loss_3d_abs: 0.1651
loss_smpl: 0.3662
我不熟悉Regex。。。我如何过滤上面的内容?谢谢
假设您想查找包含loss
的所有值,您可能正在查找类似的内容。
package main
import (
"fmt"
"regexp"
)
func main() {
input := `Total: 0:06:53 | ETA: 0:08:26 | loss: 1.1260 | loss_2d: 0.1125 | loss_3d_rel: 0.3900 | loss_3d_abs: 0.1651 | loss_smpl: 0.3662`
re := regexp.MustCompile(`loss(w*):s(d.d*)`)
matches := re.FindAllString(input,-1)
for _,v := range matches {
fmt.Println(v)
}
}