0

どこかに含まれている文字列Processing date : 14 Aug 2013または類似の文字列があります。毎回同じ場所にあるわけではないので、正規表現を見てその14 Aug 2013部分を見つけています。

_date = Regex.Match(_headerLines.Last(), @"(Branch processing date : )(\S{1,11})", 
  RegexOptions.IgnoreCase).Groups[2];

14残りの日付は教えてくれませんか?

4

2 に答える 2

2

これ\Sは、スペースを除くすべての文字に一致するため、1 と 4 に一致し、その直後のスペースで停止するためです。あなたが試すことができます:

@"(Branch processing date : )(.{1,11})"

日付がパートの直後にあることが確実な場合Branch processing date :、または次のようなものを使用します。

@"(Branch processing date : )([0-9]+ [A-Za-z]+ [0-9]{4})"

これはもう少し制限的です。

于 2013-09-29T11:38:22.590 に答える
1

非スペース文字に一致するため\S、期待どおりに動作しません。

任意の文字 (改行を除く) に一致\Sするwhich に置き換えます。.

@"(Branch processing date : )(.{1,11})"
于 2013-09-29T11:37:55.370 に答える