のような日付形式に一致する正規表現があります:26 August 2011
と私はファイルの各行を読み込み、上記の形式の日付を含む行を取得しようとしています。しかし、それは動作していないようです..
第一ファイルの内容を検索して正規表現
Regex test = new Regex(@"^((31(?!\ (Feb(ruary)?|Apr(il)?|June?|(Sep(?=\b|t)t?|Nov)(ember)?)))|((30|29)(?!\ Feb(ruary)?))|(29(?=\ Feb(ruary)?\ (((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)))))|(0?[1-9])|1\d|2[0-8])\ (Jan(uary)?|Feb(ruary)?|Ma(r(ch)?|y)|Apr(il)?|Ju((ly?)|(ne?))|Aug(ust)?|Oct(ober)?|(Sep(?=\b|t)t?|Nov|Dec)(ember)?)\ ((1[6-9]|[2-9]\d)\d{2})$");
StreamReader file = new StreamReader(outputFile);
while ((line2 = file.ReadLine()) != null)
{
lines.Add(line2);
foreach (Match match in test.Matches(line2))
{
v += match.Value;
}
}
オクラホマので、これはシナリオです - 行が含まれている場合:「2011年8月26日」を、その日付を返します。
2nd - 行に "some text etc 26 August 2011"が含まれている場合、nullを返します。
どのようにこの問題に取り組むことができますか?
おそらく 'test'にもっと適切な値を与えることによって? – Jon
私は正規表現テストを追加しました。 –
私はRegexがどのように直感的であるか本当に好きです。 – jim