「DD/MM/YYYY」のようなユーザーが入力した日付形式を検証する正規表現を作成しようとしています(日付検証ではありません)
私は正規表現は初めてですが、これまでのところ次のものがあります。
(D{2}|M{2}|Y{2,4})[-|/]?(D{2}|M{2})[-|/]?(D{2}|M{2}|Y{2,4})
これは、次の日付形式と一致します。
- DD/MM/YYYY
- MM/DD/YYYY
- DD-MM-YYYY
- MM-DD-YYYY
- DDMMYYYY
- MMDDYYYY
- YYYYMMDD
- YYYYDDMM
- YYYY/MM/DD
- YYYY/DD/MM
- YYYY-MM-DD
- YYYY-DD-MM
- 日/月/年
- 月/日/年
- DD-MM-YY
- MM-DD-YY
- DDMMYY
- MMDDYY
- 年月日
- YYDDMM
- 年月日
- YY/DD/MM
- YY-MM-DD
- YY-DD-MM
残念ながら、次のものにも一致します。
- DDMMDD
- YYMMYYYY
- むむむむ
最初のリストで指定された形式のみを一致させる方法はありますか? RegEx は VBA フォーム検証で使用されます。