为什么正则表达式 "5.0".match(⼀([尀d.])+⼀i) 返回的数组[1]结果是0,而不是5呢?

完整返回结果是 [0]: "5.0" [1]: "0" input: "5.0" index: 0
2024-11-12 23:53:54
推荐回答(3个)
回答1:

对于([\d.])+,在匹配的过程中,小括号中的正则会依次匹配5,.,0,最后匹配的是0,所以你得到的是0.
如果你想匹配得到.前面的数字

/(\d+)(\.\d+)?/i
[1]是5,[2]是.0

回答2:

因为加号是匹配1次或多次,这里是匹配了3次,(数字或圆点)重复3次,括号只保留了第3次的匹配内容,也就是0

回答3:

不清楚哦!不好意思嘞!