2013-09-29 17 views
0

我有一個字符串,其中某處包含Processing date : 14 Aug 2013或類似字符。它每次都不在同一個地方,所以我正在尋找一個正則表達式來找到14 Aug 2013部分。從C中正則表達式匹配後的字符串中提取下x個字符#

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

給我14但不是日期的其餘部分?

回答

1

由於\S與非空格字符匹配,因此無法按預期工作。

\S替換爲.,它匹配任何字符(除了換行符)。

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

這是因爲\S匹配所有的字符除了空間,所以它將匹配1,4和緊隨其後的空間停車。你可以試試:

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

如果你只是Branch processing date :部分之後是肯定的日期是,或使用類似:

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

哪個更嚴格一點。

+0

謝謝 - upvoted,但falsetru只是打你到帖子。 – BlueChippy

+1

@BlueChippy這是因爲我有更多的輸入xD不客氣! ^^ – Jerry

相關問題