我以下面的字符串为例:
var str = "3,000, 2000, 1,000"
我想使用正则表达式提取
3000, 2000, 1000
str.match(/\d+/g)
但结果是错误的:
['3', '000', '2000', '1', '000']
有人可以帮忙吗?谢谢
不需要正则表达式。只需按
" "
拆分,从结果中删除所有 ,
并将其解析为数字。
var str = "3,000, 2000, 1,000";
var nums = str.split(" ").map(x => +x.replaceAll(",", ""))
console.log(nums)
我的答案:
const str = "3,000, 2000, 1,000"
const patt = /(\d+(\,)?)+\d+/g;
const res = (str.match(patt)).map(ele=> +ele.replace(/\,/g, ""))
console.log(res)