gpt4 book ai didi

regex - 为什么 regexp.FindAllString 会返回带有不需要的空字符串的匹配结果?

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

<分区>

有正则表达式:

302\=.+?190\=(\d|\.)+|` 

这是要匹配的字符串:

8=FIX.4.4|9=181|35=i|34=6|49=XCD1|52=20171025-08:33:56.791|56=Q142|296=3|302=5|295=1|299=0|188=0.74499|190=0.74549|302=4|295=1|299=0|188=0.74996|190=0.75026|302=3|295=1|299=0|188=88.751|190=88.801|10=022|

结果应该是:

302=5|295=1|299=0|188=0.74499|190=0.74549
302=4|295=1|299=0|188=0.74996|190=0.75026
302=3|295=1|299=0|188=88.751|190=88.801

是否返回带有一些空字符串的结果:

[]string{"",
"",
"",
"",
"302=5|295=1|299=0|188=0.74499|190=0.74549",
"302=4|295=1|299=0|188=0.74996|190=0.75026",
"302=3|295=1|299=0|188=88.751|190=88.801",
"",
"",
"",
"",
""
....
}

代码如下:

string := `8=FIX.4.4|9=181|35=i|34=6|49=XCD1|52=20171025-08:33:56.791|56=Q142|296=3|302=5|295=1|299=0|188=0.74499|190=0.74549|302=4|295=1|299=0|188=0.74996|190=0.75026|302=3|295=1|299=0|188=88.751|190=88.801|10=022|`
re := regexp.MustCompile(`302\=.+?190\=(\d|\.)+|`)
re.FindAllString(a1, -1)

你可以试试:https://play.golang.org/p/0x_lBAX6Vk

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