Ist das eine Denksportaufgabe oder warum machst Du das mit RegEx?
Eine berechtigte Frage. Ich habe das mal mit den bekannten Springfunktionen gemacht, aber da in einer GEDCOM-Datei dutzende Datumsangaben vorkommen und so eine Datei mal schnell 10000-1000000 Zeilen haben kann, dachte ich, ich nehme RegEx, da das parsen da deutlich schneller vonstatten geht.
Regex ist Pos&Co in jedem Fall vorzuziehen, es ist ungleich bequemer. Schau dir an, wieviel Code du brauchst, um nur
Code:
(@#D(?:GREGORIAN|JULIAN|HEBREW|FRENCH\s*R)@)?\s*)
via Programm-Code zu scannen.
Du sagst es.
Nun bisher wird ja auch nur eine Datumsangabe gepasst. Bedacht wurde noch nicht, dass es in Gedcom-Datumsangaben auch Doppeldatierung gibt:
Code:
BET 17 AUG 1917 AND CAL 21 AUG 1918