I'm trying to test whether or not an unordered string has '3' in it 5 times.
For example:
var re = /3{5}/;
re.test("333334"); //returns true as expected
re.test("334333"); //returns false since there is no chain of 5 3s
What regex would make the second line return true? If regex is not the best way to test this, what is?
Thanks!
Try
(str.match(/3/g) || []).length >= 5
Or
str.split(3).length > 5
Where str
is the string you want to test.
You can write this:
var re = /(?:3[^3]*){5}/;
I would go for
s.replace(/[^3]/,'').length >= 5
Assuming that the string to be tested is named s
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With