Thread regex automatisch erstellen (6 answers)
Opened by kristian at 2007-10-20 19:09

kristian
 2007-10-20 19:09
#101135 #101135
User since
2005-04-14
684 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo

Ich versuche automatisiert regex zu erstellen, die ich dann in eine Datei schreibe.
Ich will den Bereich zwischen zwei Zahlen matchen.
Beispiel:
Bereich 28 -> 31 => m/(28|29|30|31)/
Dies mache ich hier einfach mit $string = 'm/(' . join("|", ($first_number..$last_number)) . ')/'
Bei grösseren Bereichen wird der String natürlich sehr lang.
Ich hätte lieber: m/(2[8-9]|3[0-1])/

oder anderes Beispiel:
Bereich 128 -> 255 =>
m/(128|129|130|131|132| [..usw..] 249|250|251|252|253|254|255)/
soll sein:
m/(12[8-9]|1[3-9][0-9]|2[0-4][0-9]|25[0-5])/

Es soll universell für Zahlenbereiche funktionieren, die zwischen 0 und 255 liegen.
Mir ist auch klar, dass die regex vor der Ausführung wieder durch den langen String repräsentiert wird und das Kürzen nicht wirlich CPU-freundlich ist, allerdings will ich in der Datei den Ball flach halten.

Hat eine(r) ne Idee, wie ich das hinbekommen könnte?

TIA
Kristian

View full thread regex automatisch erstellen