AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

RegEx dd.mm.yyyy hh:mm

Ein Thema von ByTheTime · begonnen am 31. Dez 2014 · letzter Beitrag vom 3. Jan 2015
 
ByTheTime

Registriert seit: 24. Sep 2011
Ort: Frankfurt
297 Beiträge
 
Delphi XE2 Architect
 
#4

AW: RegEx dd.mm.yyyy hh:mm

  Alt 31. Dez 2014, 11:03
Was ist das? Der Regex Obfuscation Contest?

Also falls es ernst gemeint ist: Nimm dafür bitte nicht Regex. Regex ist zwar eine tolle Sache, aber es hat seine Grenzen. Das da oben versteht ja kein Mensch.
Es ist vollkommen ernst gemeint Aber als ich mir meinen eigenen Post nochmal angeschaut habe muss ich zugeben dass das schon ein Höllen-Regex ist

OK, Schaltjahr gefunden.
Genau darum geht es. Alle möglichen Daten mit allen Ausnahmen/Schaltjahren korrekt zu validieren. Und das im Format dd.mm.yyyy hh:mm. Und da ist mir auch mein Fehler aufgefallen!

Fällt dir was auf?
Irgendwas stimmt im letzten Block mit der Uhrzeit nicht.
Nein, umgedreht! Das ist der einzige Block der richtig ist! Ich möchte ja nicht hh:mm:ss sondern hh:mm validieren. Und da liegt der Knackpunkt Ich habe schlicht und einfach alle anderen Blöcke hh:mm:ss validieren lassen

Code:
(
  (
    (0[1-9]|[12]\d|3[01])
    [\/\.-]
    (0[13578]|1[02])
    [\/\.-]
    ((19|[2-9]\d)\d{2})
    \s
    (0[0-9]|1[0-9]|2[0-3])
    :
    ([0-5][0-9])
  )|(
    (0[1-9]|[12]\d|30)
    [\/\.-]
    (0[13456789]|1[012])
    [\/\.-]
    ((19|[2-9]\d)\d{2})
    \s
    (0[0-9]|1[0-9]|2[0-3])
    :
    ([0-5][0-9])
  )|(
    (0[1-9]|1\d|2[0-8])
    [\/\.-]
    (02)
    [\/\.-]
    ((19|[2-9]\d)\d{2})
    \s
    (0[0-9]|1[0-9]|2[0-3])
    :
    ([0-5][0-9])
  )|(
    (29)
    [\/\.-]
    (02)
    [\/\.-]
    (
      (1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])
      |
      ((16|[2468][048]|[3579][26])00)
    )
    \s
    (0[0-9]|1[0-9]|2[0-3])
    :
    ([0-5][0-9])
  )
)
So haut das ganze hin und danke für die schöne formatierung und den Hinweiß. Sonst hätte ich noch ewig gerätselt.

Aber da der Teil in allen Oder-Blöcken identisch sein sollte, hätte es doch gereicht den Teil auch nur einmal auszuwerden.
Würde den Code gleich mal stark kürzen, vorallem wenn man auch gleich mit alle unnötigen Klammern weglässt.
Außer du willst auch die Sommer-/Winterzeit, sowie Schaltminuten und Schaltsekunden mit beachten.
Okay, gute Idee, werde ich gleich machen

^ am Anfang und $ am Ende?
Vorhanden

Also ich bedanke mich, Problem gelöst

Gruß,
Lukas
Lukas
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz