The “gooooal” example here took me quite awhile to understand. There are many good explanations on here, but I was confused for awhile about the flags and the example used in the explanation.
let soccerWord = "gooooooooal!";
let gPhrase = "gut feeling";
let oPhrase = "over the moon";
let goRegex = /go*/;
soccerWord.match(goRegex);
gPhrase.match(goRegex);
oPhrase.match(goRegex);
To test this out, I headed over to https://regexr.com/ and ran the following 3 tests:
At first, I couldn’t understand why the example didn’t use the g flag but still returned the ["g"] from gut feeling. In the first test in my image, not using a g flag results in the g from gut not being matched. Using the g flag in the second test, it does match the g from gut.
Finally I realized this was because the example provided here is using two distinct strings soccerWord and gPhrase but my tests were regarded as single strings which was why I had to include a g flag. In the last test I am able to get the same result as the example here by only putting the word “gut” in my string and not needing the g flag.
Hope this helps someone!
Challenge: Regular Expressions - Match Characters that Occur Zero or More Times
Link to the challenge:
