Ich möchte den Benutzer dazu bringen, Zahlen im Bereich 0-20 einzugeben, und beide können 01 und 1 eingeben
das ist was ich bisher habe
%Vor%aber es funktioniert nicht.
Das Problem ist, dass |
geringere Priorität hat als ^
und $
, also bedeutet Ihr Muster ^[1-9]
oder 0[1-9]
oder 1[0-9]
oder 2[0]$
: Nur einstellige Werte sind durch ^
eingeschränkt, und nur 20
ist durch $
eingeschränkt.
Sie können entweder ^
und $
in jedem Zweig der Alternation wiederholen oder die Alternation in (?:...)
umbrechen, um einen nicht-erfassenden Teilausdruck zu erstellen:
(Ich habe mir auch erlaubt, [0]
in 0
zu ändern.)
Wie wäre es mit
? %Vor%Das Problem ist, dass 20 ein Sonderfall ist. Der zweite Abschnitt deckt es ab. Der erste Abschnitt deckt den Rest ab. Ich nehme reguläre Ausdrücke im Perl-Stil an, da Sie den Kontext nicht angegeben haben.
probiere das
aus %Vor%0 oder 1 (optional), gefolgt von mindestens einer Ziffer OR 20
Tags und Links regex