0

私が見つけたすべての例は、文字列が特定のパターンに従っていて、数字であるかどうかをチェックしています"\d{4}-\d{2}-\d{2}"。日付が特定の日付より後かどうかを確認したい。たとえば、日付がパターン「yyyy-mm-dd」に従い、「2009-03-01」より後かどうかを確認したい。それを達成する方法は?

4

3 に答える 3

5

これには正規表現を使用しないでください。のこぎりで釘を打とうとしているようなものです。

言語が提供する日付の解析を使用し、それを使用してチェックを実行します。

これを行うために文字列から日付を抽出する必要がある場合は、必ず正規表現を使用してください。ただし、その部分にのみ使用してください。

于 2012-08-07T17:57:59.377 に答える
0

これを試して:

http://www.regular-expressions.info/dates.html

于 2012-08-07T17:59:43.587 に答える
0

正規表現はこれに適したツールではないというセバスチャンの答えに間違いなく同意します。ここで言われているのは、うまくいくと思う正規表現です。

2009-(?:03-(?:0[2-9]|[1-9]\d)|(?:0[4-9]|1\d)-\d\d)|(?:20[1-9]\d|2[1-9]\d\d|[3-9]\d{3})-\d\d-\d\d

これは、このような問題の正規表現ソリューションを読み取ることがいかに難しいかを示すためのものです。正規表現を使用して日付を抽出し、言語ツールを使用してターゲット日付と比較する方がはるかに優れています。

于 2012-08-07T18:04:12.767 に答える