Alex: Regulärer Ausdruck (Zahl darf nicht auf 81100) enden

Beitrag lesen

Hallo Ichbinich,

erstmal bitte ich um Entschuldigung, dass ich erst jetzt eine Rückmeldung auf deine und die anderen hilfreichen Mails gebe, aber heute war - wie meist - ein harter Arbeitstag.

Leider habe ich in dem verwendeten Programm nur Perl reguläre Ausdrücke zur Filterung zur Verfügung.

Eine wichtige Information! Du verwendest also kein Perl, sondern "irgendein Programm" mit reglären Ausdrücken nach Perl-Syntax...

Ja genau, tut mir leid, dass ich das im Ursprungspost nicht mitgeteilt habe.

ich habe eine Liste von Zahlen von 200000 bis 399999 (das die Liste keine anderen Zahlen/Strings beinhaltet ist sichergestellt).
wie sicher bist du dir da, Zitat:
Aufgrund der Datenmenge kann ich nur schwierig prüfen[..]
Kann auch zukünftig nichts anderes in der Liste auftauchen?

Nein, die Filterung bis dahin habe ich durch andere Filtermöglichkeiten des besagten Programms sichergestellt.

Nun zu deinem Ausdruck:

23

Du prüfst auf eine 2 oder 3, die nicht von 81100 gefolgt werden. Es würde z.B. auch 2481100 durchgehen.

Das ist soweit gewollt. Ausschließlich die Kombinationen 281100 bzw. 381100 sollen nicht vorkommen.

Wenn du wirklich sicher gehen willst, sollte dein Ausdruck so lauten:
[1](?!81100)\d{5}$
d.h. eine 2 oder 3 am Anfang, der genau 5 Zahlen folgen, die nicht 81100 sein dürfen.

Vielen Dank für diese Lösung und vielen Dank auch an alle Anderen, die sich beteiligt haben :-)

Gruß
Alex


  1. 23 ↩︎