Hi,
Ich prüfe einen String. Der darf nur ein- bis sechsstellige Zahlen enthalten. Es kann eine Zahl sein oder mehrere, durch Komma getrennt:
Nun möchte ich erweitern. Einer oder mehreren Zahlen kann ein ! (als Verneinung) vorangestellt werden:
4711,4712,!4713,3,5,1
Wie wäre es, statt RegEx einfach String-Funktionen zu nutzen? Der Editor nach dir wird es dir sicherlich danken.
Also einfach ein split auf das Komma machen, dann mit indexOf auf das Ausrufezeichen auf jedes Arrayentry testen, ob ein Ausrufezeichen da ist, den Rest mit intval prüfen und dann noch den Rangecheck machen.
Ist vielleicht länger ausgeschrieben als ein regulärer Ausdruck, dafür schneller geschrieben als über den Regex nachgedacht (was nicht nur beim ersten mal (dem entwickeln) gilt, sondern auch beim warten, wenn du den Regex wieder verstehen musst).
Bis die Tage,
Matti