日付や時間を表す文字列を受理するオートマトン①

日付や時間に関する型も用意して、オートマトンでチェックしたい。受理したい形式は以下。

  • yyyy/mm/dd hh:MM:ss.fff
  • yyyy/mm/dd hh:MM:ss
  • yyyy/mm/dd hh:MM
  • yyyy/mm/dd hh
  • hh:MM:ss.fff
  • hh:MM:ss
  • hh:MM
  • MM:ss.fff
  • MM:ss
  • ss.fff

時刻部分はAM/PM表記も許したいな。例えば"01:23 AM"や"01:23:45 PM"とか。
このままだと、hh:MMとMM:ssを区別できないし、ss.fffと実数も区別できない。

整数、実数の時と同じようにDFAC#で実装したい。