Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: RegEx dd.mm.yyyy hh:mm

  Alt 31. Dez 2014, 01:41
OK, Schaltjahr gefunden.

Kann man dem RegEx nicht auch irgendwie sagen, daß es Leerzeichen im Vergleichscode ignorieren soll?
Wenn ja, dann kann man es auch gleich formatiert 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-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-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])
    :
    ([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])
  )
)
Fällt dir was auf?
Irgendwas stimmt im letzten Block mit der Uhrzeit nicht.

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.


^ am Anfang und $ am Ende?

Und innerhalb der [ ] sind "." und Co. keine Platzhalter, also ginge auch [/.-]
$2B or not $2B

Geändert von himitsu (31. Dez 2014 um 01:52 Uhr)
  Mit Zitat antworten Zitat