Javascript 以不同的格式提取字符串的数字和文本部分

Javascript 以不同的格式提取字符串的数字和文本部分,javascript,regex,Javascript,Regex,我正试图组合一个正则表达式来分割各种可能的用户输入,虽然我成功地处理了一些案例,但我并没有成功地涵盖我想要的每一个案例 可能的输入和预期的输出 "1 day" > [1,"day"] "1day" > [1,"day"] "10,000 days" > [10000,"days"] 是否可以从字符串中拆分数字和文本部分而不必留空格,同时从字符串中删除逗号等 它似乎很好地分割了数字和文本部分,但被逗号绊倒了。(实际上,在我写这篇文章时,我想我可以使用结果数组的最后一部分作为文

我正试图组合一个正则表达式来分割各种可能的用户输入,虽然我成功地处理了一些案例,但我并没有成功地涵盖我想要的每一个案例

可能的输入和预期的输出

"1 day" > [1,"day"]
"1day" > [1,"day"]
"10,000 days" > [10000,"days"]
是否可以从字符串中拆分数字和文本部分而不必留空格,同时从字符串中删除逗号等


它似乎很好地分割了数字和文本部分,但被逗号绊倒了。(实际上,在我写这篇文章时,我想我可以使用结果数组的最后一部分作为文本部分,并将所有其他部分连接为数字部分?

除了从匹配的数字字符串中删除逗号外,此正则表达式还能工作:

([0-9,]+]) *(.*)
您不能“忽略”返回的正则表达式匹配字符串中的字符,因此您只需在之后从返回的正则表达式匹配中删除逗号即可。

var测试=[
“一天”,
“1天”,
“10000天”,
];
console.log(test.map)(函数(a){
a=a.replace(/(\d),(\d)/g,'$1$2');//删除逗号
返回a.match(//^(\d+)\s*(.+)$/);//分为两部分

}));告诉我们你得到了什么,哈哈!公平地说,这是迄今为止我在SOToto上发布的最懒的问题,je t'aime!谢谢你,CC,我还没有完全掌握关于Regex的知识,所以很高兴知道这一点以备将来参考(并解释了为什么Toto在他的回答中分两步这么做)。
([0-9,]+]) *(.*)