Lets say I need to match a pattern if it appears 3 or 6 times in a row. The closest I can get is something like d{3,6} but that doesn't quite do what I need.
'123' should match
'123456' should match
'1234' should not match
Lets say I need to match a pattern if it appears 3 or 6 times in a row. The closest I can get is something like d{3,6} but that doesn't quite do what I need.
'123' should match
'123456' should match
'1234' should not match
^(d{3}|d{6})$
You have to have some sort of terminator otherwise d{3}
will match 1234. That's why I put ^ and $ above. One alternative is to use lookarounds:
(?<!d)(d{3}|d{6})(?!d)
to make sure it's not preceded by or followed by a digit (in this case). More in Lookahead and Lookbehind Zero-Width Assertions.