gpt4 book ai didi

javascript - 为什么它返回这样的匹配

转载 作者:行者123 更新时间:2023-11-28 11:54:51 25 4
gpt4 key购买 nike

我测试了下面的代码:

var str1 = 'chapter 4.5.3.1'
var rslt = str1.match(/(\.\d)*/g)
console.log(rslt)

它返回我的匹配项

["", "", "", "", "", "", "", "", "", ".5.3.1", ""] 

如果我去

var str1 = 'chapter 4.5.3.1'
var rslt = str1.match(/(\.\d)*/)
console.log(rslt)

它给了我:

["", undefined, index: 0, input: "chapter 4.5.3.1"] 

有人可以向我解释一下这些匹配结果,特别是第一个示例,为什么返回这么多空字符串。而第二场比赛,则返回了一个空字符串。谢谢。

最佳答案

(\.\d)* 实际上意味着匹配组 (\.\d) 零次或多次。由于匹配可用零次,因此在每个字符之前,它会为所有零次匹配返回一个空字符串。您必须将其更改为(\.\d)+,这意味着匹配该组一次或多次

如果您实际上只想匹配版本号,那么您可以使用

/\d+(\.\d+)*/

关于javascript - 为什么它返回这样的匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26147406/

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