0

こんにちは私は日付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日で機能します

4

2 に答える 2

6

正規表現は使用せず、DateTime.TryParseまたはを使用してくださいDateTime.TryParseExact

また、現在の文化とユーザーの期待にも注意してください。アメリカ人は "MM/dd/yyyy" を使用しますが、その他の国では (一般に) "dd/MM/yyyy" を使用します。どちらも日付の範囲が広い場合は区別できません。

于 2013-03-22T01:42:03.307 に答える
1

これにはメソッドを使用する必要があることに同意しますDateTime。ただし、先行ゼロをオプションにしたい場合は?、次のように、それらの後にa を追加できます。

^(0?[1-9]|1[012])[- /.](0?[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$
于 2013-03-22T01:43:34.993 に答える