我有一个字符串
var str = "14??? 7???? 12??? 7????";
我需要在字符串中选择第一个数字(14,7,12,7).
我编写了以下代码的代码,但是这段代码选择了分开的数字(1,4,7,1,2,7):
for (var i = 0; i < str.length; i++) { newStr = str.match(/\d/g); }
vks.. 6
你的正则表达式的问题在于它+
之后缺少量词\d
.\d
只匹配一个号码.
您可以使用\d+
匹配所有数字.该+
量词将匹配一个或多个前面类的.
或者,您也可以使用[0-9]+
.
Regex101演示
var str = '14??? 7???? 12??? 7????';
var matches = str.match(/\d+/g);
console.log(matches);
document.write('' + JSON.stringify(matches, 0, 4) + '
');
你的正则表达式的问题在于它+
之后缺少量词\d
.\d
只匹配一个号码.
您可以使用\d+
匹配所有数字.该+
量词将匹配一个或多个前面类的.
或者,您也可以使用[0-9]+
.
Regex101演示
var str = '14??? 7???? 12??? 7????';
var matches = str.match(/\d+/g);
console.log(matches);
document.write('' + JSON.stringify(matches, 0, 4) + '
');