Done my best, to make the Structure of the DateValue clear to you. Please have a Looks.
[h]Structure of Date[/h]
[Calendar] [Day] [Month] [Year][B.C.]
valid Before Christ
B.C. - Pattern: (B.C.)?
valid Year
Can look 1748 or 1748/49 - Pattern: (.*) -> will have a separated RegEx in a later Method
valid Month (optional)
JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC,
NSN, IYR, SVN, TMZ, AAV, ELL, TSH, CSH, KSL, TVT, SHV, ADR, ADS,
VEND, BRUM, FRIM, NIVO, PLUV, VENT, GERM, FLOR, PRAI, MESS, THER, FRUC, COMP
valid Day (optional)
1…31 - Pattern: (\d*)?
valid Calendar (optional)
@#DGREGORIAN@, @#DJULIAN@, @#DHEBREW@, @#DFRENCH R@ - Pattern: (?:@#D(.*)@)?
[h]Matches[/h]
[code]1748/49 // Year
1748B.C. // Year, B.C.
JAN 1748 // Month, Jahr
1 JAN 1748 // Day, Month, Year
@#DJULIAN@ 1748 // Calendar, Year
@#DJULIAN@ 1748B.C. // Calendar, Year, B.C.
@#DJULIAN@ JAN 1748 // Calendar, Month, Year
@#DJULIAN@ 1 JAN 1748 // Calendar, Day, Month, Year.[/code]
[h]Won’t match[/h]
1 JAN // Day, Month
1 1748 // Day, Jahr
1 B.C. // Day, B.C.
JAN B.C. // Month, B.C.
@#DJULIAN@ 1 // Calendar, Day
@#DJULIAN@ JAN // Calendar, Month
@#DJULIAN@ B.C. // Calendar, B.C.
@#DJULIAN@ 1 JAN // Calendar, Day, Month
@#DJULIAN@ 1 1748 // Calendar, Day, Year
@#DJULIAN@ 1 JANB.C. // Calendar, Day, Monat, B.C.
@#DJULIAN@ 1 1748B.C. // Calendar, Day, Year, B.C.
@#DJULIAN@ 1 JAN 1748B.C. // Calendar, Day, Month, Year, B.C
@#DJULIAN@ JANB.C. // Calendar, Month, B.C.
Thanks for your Time