javascript - 正则表达式,从字符串中选择第一个数字

标签 javascript regex string

我有一个字符串

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]+

Regex101 Demo

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/

相关文章:

javascript - 多环境Express Api

javascript - 如何创建 GoogleMap 标记自动更新?

python - 我没有得到正则表达式的预期结果

regex - Grep 正则表达式

java - 使用逗号拆分字符串,但如果是括号或引号则忽略逗号

javascript - IE8 的 IE11 模拟器的 Google 图表错误

javascript - 转义标题中的单引号

使用交替时的 Java 正则表达式优先级

java - 如何为给定字符串中的每个单词添加前缀

Java 字符串替换不起作用