I'm currently facing the problem that I want to match a character (%) x times but not more than that at the start of a line. My initial thought was to do this:
^%{1,6}
but this matches %%%%%%
%
Is there a way to not make it match at all if the maximum is reached?
CodePudding user response:
You can use
^%{1,6}(?!%)
See the .NET regex demo.
Details:
^
- start of string%{1,6}
- one to six occurrences of a%
char(?!%)
- a negative lookahead that fails the match if there is a%
char immediately on the right.