【发布时间】:2016-11-01 19:12:25
【问题描述】:
https://www.freecodecamp.com/challenges/find-numbers-with-regular-expressions
我在 FCC 上一节课,他们提到数字选择器 \d 找到一个数字,并在选择器前面添加一个 + (\d+) 允许它搜索多个数字。
我对它进行了一些实验,发现它是在搜索每个数字的表达式之后的 g,而不是 +。我尝试在表达式后使用不带 g 的 \d+,它只匹配字符串中的第一个数字。
基本上,不管我用\d还是\d+,只要我在表达式后面加上g,它就会找到所有的数字。所以我的问题是,这两者有什么区别?
// Setup
var testString = "There are 3 cats but 4 dogs.";
var expression = /\d+/g;
var digitCount = testString.match(expression).length;
【问题讨论】:
-
\d= 一位数,\d+= 至少一位数。"22".match(/\d/g)->Array [ "2", "2" ],但"22".match(/\d+/g)->Array [ "22" ] -
尝试使用测试字符串“有 3 只猫,但有 41 只狗。”你会看到区别
-
哦,我明白了。谢谢
标签: javascript regex