To ostatecznie stanie się częścią większego wyrażenia, ale zredukuję je do znacznie prostszej formy (tzn. Będzie prawdziwa możliwość 40 znaków zamiast 19 możliwych tutaj). Biorąc pod uwagę następujące wejścia:Minimalna długość wyrażenia regularnego
;123?T
dostaję udanego meczu przeciwko tej regex:
^(?:;(\d{0,19})\?.){1,40}$
jednak nie dostanę mecz przeciwko tej regex:
^(?:;(\d{0,19})\?.){3,40}$
Jedyną rzeczą Zmieniam się to minimalna długość, z której oba dane wejściowe powinny spełniać. Dlaczego pierwszy odnajdzie zapałkę, a drugi nie? Może po prostu nie rozumiem tego kwantyfikatora, ale myślałem, że to po prostu {MIN, MAX}.
Również ja testowałem to w obu następujących testerów online:
Nie zmieniasz minimalnej długości, ale liczby powtórzeń wzoru '(?:; (\ D {0,19}) \?) dodatkowy znak). –