4

文字列で指定された日付を抽出するための良い解決策は何ですか?

例えば:

string block = "This should try to get a date 2005-10-26"; //TODO! I WANT THE DATE

私にとって良いヒントはありますか?

多分正規表現?

4

1 に答える 1

7

最も単純な正規表現は

new Regex(@"\b\d{4}-\d{2}-\d{2}\b")

ただし、これはエラーチェックを行わず、正確に その形式を見つけるだけです。

日付の検証を行いたい場合、正規表現はここでは親友ではありません。それは可能ですが、今から6か月後にコードを読まなければならない人を自殺させたくない限り、日付パーサーに任せるのが最善です。基本的な健全性チェックには同意しますが、うるう年などを検証しようとはしません。

new Regex(@"\b\d{4}-(?:1[0-2]|0[1-9])-(?:3[01]|[12][0-9]|0[1-9])\b")
于 2013-07-01T13:34:42.367 に答える