Hi!
[...] da ich ohnehin noch auf einen Minimal- und Maximalwert prüfe und da sind ohnehin nur Werte über 100 erlaubt.
Solltest du aber einen besseren Code (<- nicht Codec :-) ) haben, so habe ich nichts dagegen einzuwenden.
Nun, einerseits kannst du es auch wie Der Martin schon vorschlug gänzlich ohne Regexp versuchen. Da du leider darauf nicht eingegangen bist, weiß ich deine Gründe nicht, warum du dir die Mühe einer Musterprüfung machst und nicht gleich nur die üblicherweise wesentlich einfacher zu realisierende Einhaltung der Wertebereiche implementierst. Andererseits kann man natürlich auch mit einer Musterprüfung eine Wertebereichsprüfung nachstellen. Es ist wie gesagt nur aufwendiger, weil du gegebenenfalls die Regeln für jede einzelne Stelle mehr oder weniger separat definieren musst.
Von 100 bis 899 ist beispielsweise noch einfach. Die erste Ziffer darf [1-8] sein, und die beiden anderen Stellen beliebige Ziffern: \d{2}
Geht der Wertebereich von 100 bis 849, so ist die zweite Stelle in Abhängigkeit zur ersten zu betrachten und der daraus entstehende Reguläre Ausdruck muss schon tiefer in die Trickkiste greifen. Wie einfach (zu formulieren, zu verstehen und vom Rechner auszuwerten) ist hingegen ein »if (x >= 100 and x < 850)«? Die Dreistelligkeit wird quasi mitgeprüft, weil sie durch den Wertebereich implizit vorgegeben ist.
Lo!