私が見つけたすべての例は、文字列が特定のパターンに従っていて、数字であるかどうかをチェックしています"\d{4}-\d{2}-\d{2}"
。日付が特定の日付より後かどうかを確認したい。たとえば、日付がパターン「yyyy-mm-dd」に従い、「2009-03-01」より後かどうかを確認したい。それを達成する方法は?
質問する
329 次
3 に答える
5
これには正規表現を使用しないでください。のこぎりで釘を打とうとしているようなものです。
言語が提供する日付の解析を使用し、それを使用してチェックを実行します。
これを行うために文字列から日付を抽出する必要がある場合は、必ず正規表現を使用してください。ただし、その部分にのみ使用してください。
于 2012-08-07T17:57:59.377 に答える
0
于 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 に答える