Ich muss einen regulären Ausdruck schreiben, um solche Eingaben zu machen
%Vor%d.
Momentan verwende ich regulären Ausdruck wie diese [0-9]+(,[0-9]+)*
.
Dies ermöglicht Zahlen, die nur durch Kommata getrennt sind (keine Leerzeichen zuzulassen), und es wird nicht nach dem Zahlenbereich gesucht.
Es ist wahrscheinlich klug, es in zwei Schritten zu machen. Überprüfen Sie zuerst, ob der Bereich 0-99999 ist:
%Vor% Parsen Sie dann die Zeichenkette unter Verwendung einer allgemeinen Programmiersprache zu einer Liste von ganzen Zahlen und prüfen Sie x <= 32767
für jede ganze Zahl x.
Sie können einen Zahlenbereich mit einer Regex validieren, aber da Sie sich die textliche Darstellung von Zahlen ansehen müssen, ist die Regex schwer zu lesen:
%Vor%entspricht einer Ganzzahl zwischen 0 und 32767 mit optionalen führenden Nullen.
Also wäre deine gesamte Regex
%Vor%Stellen Sie sich vor, Sie erben diesen Regex von einem Kollegen, der Ihre Firma vor Jahren verlassen hat ... Viel Spaß:)
Nimm deshalb Marks Rat.
Diese Antwort ist ausschließlich für Bildungszwecke gedacht und stellt nicht eine Empfehlung dar, in diesem Fall eine Regex zu verwenden.
Tags und Links regex range expression numbers spaces