[Code] Regex verkürzen?

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von cable, 24. März 2010 .

  1. 24. März 2010
    Regex verkürzen?

    Hi!

    Hab mir überlegt, wie ein regulärer Ausdruck für Ports aussehen müsste, also Zahlen Zwischen 1 und 65535. (0 will ich ausschließen).
    Also hab ich das hier konstruiert:
    Code:
    ^([1-9][0-9]{0,3}|[1-5][0-9]{1,4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$
    Dieser reguläre Ausdruck funktioniert, aber gibt es eine Möglichkeit diesen Ausdruck zu verkürzen und evtl zwei oder mehrere "Teilausdrücke" zu verbinden?

    greez
     
  2. 24. März 2010
    AW: Regex verkürzen?

    nicht wirklich, da man innerhalb der regex nicht rechnen kann - also x>0 oder x<65536 geht nicht.

    du könntest aber einfach zahlen die auf [1-9]+[0-9]* passen an ne funktion weitergeben und da dann prüfen.
     
  3. 24. März 2010
    AW: Regex verkürzen?

    Ich weiß schon, wie Regex funktionieren und dass man lediglich Zeichenketten parsen kann und somit keine Zahlen interpretiert werden können, aber dennoch würd ich gerne wissen, ob man den Ausdruck vielleicht durch Lookarounds irgendwie verkürzen und eleganter schreiben kann.

    Ich hatte mir auch überlegt zu prüfen, ob es überhaupt eine Zahl ist mit
    Code:
    ([1-9][0-9]{0-4})
    und dann mit einer Sprache sowas wie
    Code:
    if (zahl > 0 && zahl < 65536) 
     return true;
    else
     return false;
    greez
     
  4. 24. März 2010
    AW: Regex verkürzen?

    Sry Alex², aber Murdoc löscht die Beiträge zu Recht. Ich wollte wissen, ob man irgendwas aus dem Ausdruck vereinfachen will. Es ging NUR um den Ausdruck, nicht um irgendwelchen Sprachkonstrukte, die mir die Arbeit abnehmen, denn die bringen einem nicht soo viel, wenn man einen Text parst mit einem regulären Ausdruck.

    Ich lasse das hier aber mal offen, vielleicht fällt einem ja noch was ein

    greez
     
  5. 25. März 2010
    AW: Regex verkürzen?

    dürfte nicht viel kürzer sein als deins

    ach ja habe ich von meinem großen Bruder Elgoog.
     
  6. 25. März 2010
    AW: Regex verkürzen?

    Ist eigentlich genau wie bei mir, nur dass hier \d anstatt [0-9] verwendet wurde und die 0 ist scheinbar erlaubt

    greez
     
  7. 25. März 2010
    AW: Regex verkürzen?

    angeblich soll es die 0 nicht erlauben
    ich habe es nicht getestet.

    kürzer geht es nicht.
     
  8. 25. März 2010
    AW: Regex verkürzen?

    doch klar, sieht man doch ganz am Ende, da steht:
    Code:
    ...|0)$
    Das bedeutet so viel wie "oder 0". Aber wenn man das weglässt, also das "|0", dann wird die 0 nicht beachtet!

    Hier kann man es auch testen:
    Regex Tester

    greez
     
  9. 26. März 2010
    AW: Regex verkürzen?

    du hast recht

    hatte ich nicht gelesen.
     
  10. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.