我下面的Python代码匹配regex::
import re
digits_re = re.compile("([0-9eE.+]*)")
p = digits_re.split("Hello, where are you 1.1?")
print(p)
它给出以下输出:第 一个月
我正在尝试使用golang
获得上面的输出。
package main
import (
"bytes"
"fmt"
"log"
"os/exec"
"regexp"
"strconv"
)
func main() {
// Execute the command and get the output
cmd := exec.Command("echo", "Hello, where are you 1.1?")
var out bytes.Buffer
cmd.Stdout = &out
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
// Extract the numerical values from the output using a regular expression
re := regexp.MustCompile(`([0-9eE.+]*)`)
//matches := re.FindAllString(out.String(), -1)
splits := re.Split(out.String(), -1)
fmt.Println(splits)
}
我得到如下输出::
[H l l o , w h r a r y o u ?
]
我认为正则表达式是依赖于语言的,所以python中使用的split()
函数对golang
没有帮助。使用了regexp
包中的多个Find*()
函数,但找不到一个可以提供上述python程序输出的函数。
输出字符串数组的目标是分隔不能转换为float
的字符&如果字符串可以解析为浮点型,我就计算移动平均值。
最后,我把所有的东西结合起来,像Linux watch
命令一样呈现输出。
你需要更多的细节/背景吗?我很乐意分享。
非常感谢您的帮助!
1条答案
按热度按时间eit6fx6z1#
为了匹配给定的输出,请看看这是否有助于您。