Regex fürs Parsen von Datumstring

  • hallo,

    ich versuche gerade (angespornt durch den google calendar) zu versuchen, einen regex für das eingeben von datumsangaben zu erstellen.

    format wäre:
    Tag Uhrzeit Dauer Text

    alle 4 sind optional, aber eines ist mindestens gegeben
    Uhrzeit sieht aus wie folgt: hh:mm bzw mit pm/am
    Dauer: [0-9]m|h
    Text kann irgendwas sein

    mein versuch war

    date = "([0-9]{1,2})([/.][0-9]{1,2})?([/. ][0-9]{2,4})?"
    time = " *([0-9]{1,2})(:[0-9]{1,2})?( ?am| ?pm| ?AM| ?PM| ?p| ?a)?"
    duration = " [0-9]{1,3}(m|h)"
    text = "(( ?\\w+)+)''

    return str.scan(/^#{date}(#{time})?(#{duration})?#{text}?$/)

    str ist der string selbst

    falls es jem. interessiert, das bissl code ist in ruby geschrieben, sollte aber hoffentlich keinen einfluss auf den regex selbst haben

    irgendwie klappt mein code auch nicht ordentlich, zb funktioniert

    "15 test" nicht, er erkennt hier den text nicht als solchen...

    falls dazu jem. etwas einfällt, bitte melden - bin für jeden tipp dankbar ;)

    vielen dank schon mal im voraus ;)

    lg
    bosie

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!