こんにちは私は日付mm/dd / yyyy C#の正規表現を書き込もうとしています。私はこれを持っています
^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$
しかし、それは機能しません
その方法は、2013年3月1日および2013年3月1日で機能します
正規表現は使用せず、DateTime.TryParse
またはを使用してくださいDateTime.TryParseExact
。
また、現在の文化とユーザーの期待にも注意してください。アメリカ人は "MM/dd/yyyy" を使用しますが、その他の国では (一般に) "dd/MM/yyyy" を使用します。どちらも日付の範囲が広い場合は区別できません。
これにはメソッドを使用する必要があることに同意しますDateTime
。ただし、先行ゼロをオプションにしたい場合は?
、次のように、それらの後にa を追加できます。
^(0?[1-9]|1[012])[- /.](0?[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$