What changes if I put ‘/\d/g;’ instead of ‘/\d+/g;’?
Your code so far
// Setup
var testString = "There are 3 cats but 4 dogs.";
// Only change code below this line.
var expression = /\d+/g; //Change this line
// Only change code above this line
// This code counts the matches of expression in testString
var digitCount = testString.match(expression).length;
Your browser information:
Your Browser User Agent is: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0
.
Link to the challenge:
https://www.freecodecamp.org/challenges/find-numbers-with-regular-expressions
+
means "one or more of this thing.
If we are looking at a string containing “123”, then /\d/g
will have three different matches: “1”, “2”, and “3”. /\d+/g
will have one match: “123”.
1 Like
If I put the ‘+’ in the /\d/g will the program give me 1 (“34”) instead of 2 (“3”, “4”)?
They both give me 2. Shouldn’t /\d/g give me 1 (“34”)?
/\d/g
will give you one match per digit in your string.
Actually, I think I understand now. The program gives me 2 because the 3 and the 4 are in different spots. If is was “There are 32 cats but 4 dogs.” the program would still give me 2 because it combines 32 into one number.
Yup! The token +
will grab multiple sequential digits.