Ankündigung

Einklappen
Keine Ankündigung bisher.

[RegEx] Datum/Uhrzeit parsen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [RegEx] Datum/Uhrzeit parsen

    Hallo,

    ich möchte das Log einer iptables Firewall in einer Tabbelle übersichtlich wiedergeben und versuche dazu das Log mit Hilfe von RegEx zu parsen aber leider bleib ich schon am 1. Teil des Strings hängen beim parsen des Datums bzw. der Uhrzeit.

    Der String:
    Code:
    Nov 6 06:25:17...
    Mein Pattern:
    Code:
    ^([A-Z][a-z]{2}  [1|2|3]?[0-9]) ([[2][0-3]|[0|1]?[0-9]]:[0-9][0-5][0-9]:[0-5][0-9])
    Wo liegt das Problem ?

    ps: der Datumsteil funktioniert problemlos

  • #2
    Wo liegt das Problem ?
    - wozu [[ bei der stunde?
    - wozu [0-9][0-5][0-9] bei der minute?

    laß mal das erste [0-9] weg ...
    [URL=http://www.mozilla.org/products/firefox/][img]http://www.nophia.de/misc/spreadtheword/feuerfuchs.gif[/img][/URL]

    Kommentar


    • #3
      Zitat von derHund
      - wozu [[ bei der stunde?
      um zu Gruppieren diese Oder gehört zusammen : [[2][0-3]|[0|1]?[0-9]]

      Zitat von derHund
      - wozu [0-9][0-5][0-9] bei der minute?

      laß mal das erste [0-9] weg ...
      ups total übersehen

      Kommentar


      • #4
        Zitat von LeoManiac
        um zu Gruppieren diese Oder gehört zusammen : [[2][0-3]|[0|1]?[0-9]]
        Nee, zum Gruppieren nimmt man "(...)" oder "(?:...)", je nachdem, ob man Backtracking verwenden will oder nicht, in Deinem Fall wahrscheinlich schon:
        Code:
        /^([A-Z][a-z]{2}  [1-3]?[0-9]) ([01]?[0-9]:[0-5]?[0-9]:[0-5]?[0-9])/
        EDIT
        Oops, die Stunden, die mit 2 beginnen, einfach vergessen...
        Code:
        /^([A-Z][a-z]{2}  [1-3]?[0-9]) ((?:[01]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9])/
        Übrigens ist die Gruppierung hier ohne Backtracking...
        Cheers, Marco

        Kommentar

        Lädt...
        X