我有一个字符串
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);
}
最佳答案
您的正则表达式的问题是它在\d
之后缺少+
量词。 \d
将只匹配一个数字。
您可以使用\d+
来匹配所有数字。 +
量词将匹配前一类中的一个或多个。
或者,您也可以使用[0-9]+
。
var str = '14⊰Ⓟ⊱ 7⊰➆Ⓑ⊱ 12⊰Ⓢ⊱ 7⊰➆Ⓑ⊱';
var matches = str.match(/\d+/g);
console.log(matches);
document.write('<pre>' + JSON.stringify(matches, 0, 4) + '</pre>');
关于javascript - 正则表达式,从字符串中选择第一个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34431554/