Datumsangaben

Top  Previous  Next

Skripte > Tokendefinitionen > Vordefinierte Token > Datumsangaben

 

Die folgenden vordefinierten Token können über ein Popup-Menü in ein Projekt eingefügt werden.

 

Die Mengen möglichen Erkennungen der folgenden Datumsformate überlappen sich. Es sollte nur eine Format in einem Projekt verwendet werden, es sei denn, man weiß genau was man tut. Die Ausdrücke sind allgemein gehalten. So werden neben 4-stelligen auch 2.stellige Jahresangaben erkannt und es sind verschiedene Trenner zugelassen. Für eine konkrete Anwendung sollten die Ausdrücke soweit möglich spezifiziert werden.

 

 

DD_MM_YYYY:

(0[1-9]|[12][0-9]?|3[01]?|[4-9])[-./] \// day

(0[1-9]|1[0-2]?|[2-9])[-./] \//month

(\d\d|\d{4,4}) //year

 

Dieser Ausdruck erkennt Datumsangaben wie: 03.02.56; 3.2.1856; ungültige Datumsangaben, wie der 31.2.9999, sind nicht ausgeschlossen.

 

Anmerkung: Jeder der Klammern des Ausdrucks umfasst gerade einen Datumsteil. So können Tag, Monat und Jahr leicht erhalten werden durch:

 

str sTag = xState.str(1);

str sMonat = xState.str(2);

str sJahr = xState.str(3);

 

 

Der reguläre Ausdruck ist zur Optimierung nach dem LL(1)-Prinzip aus einander ausschließenden Alternativen aufgebaut. Z.B. die möglichen 31 Tage eines Monats beginnen entweder mit einer vorangestellten 0 oder mit einer der anderen Ziffern auf die jeweils spezifische weitere Ziffern folgen können:

 

 

 

Alternative

Beginn

Wertebereich

0 [ 1-9 ]

0

01, 02, 03, 04, 05, 06, 07, 08, 09

| [ 12 ] [ 0-9 ]?

1

1 oder 10 - 19

 

2

2 oder 20 - 29

| 3 [ 01 ]?

3

3 oder 30 oder 31

| [ 4-9 ]

4

4

 

5

5

 

6

6

 

7

7

 

8

8

 

9

9

 

 

 

YYYY_MM_DD:        

(\d\d|\d{4,4})[-./] \// year

(0[1-9]|1[0-2]?|[2-9])[-./] \// month

(0[1-9]|[12][0-9]?|3[01]?|[4-9]) //day

 

Dieser Ausdruck ist eine Umstellung des obigen. Er erkennt Datumsangaben wie: 56.03.02; 1856.3.2; ungültige Datumsangaben, wie der 9999.31.2, sind nicht ausgeschlossen.



Diese Seite gehört zur TextTransformer Dokumentation

Home  Inhalt  English