2011-03-21 77 views
1
  • 蒙塔格2011年3月28日
  • 米,11年3月23日
  • 2011年3月21日 - 27.03.2011

我怎樣才能用正則表達式2011年3月28日,11年3月23日和2011年3月21日?正則表達式的日期

最後一個我可以得到與拆分和「 - 」,但前兩個怎麼樣?我能以某種方式讀取數字嗎?

回答

3

對於這種問題我使用Expresso免費和.NET兼容。 (http://www.ultrapico.com/Expresso.htm

\ d {2} \ d {2} \ d {4} [] [] - 無值檢查簡單模式

您也可以告訴我們更多的東西,你實際上是試圖做:)

對於數字提取:

Regex regex = new Regex("(?<day>\d{2})[.](?<month>\d{2})\[.](?<year>(\d{4}|\d{2}))", RegexOptions.CultureInvariant); 

Match match = regex.Match("20.03.2011"); 
if (match.Success) 
{ 
    if (match.Groups["day"] != null)       
    { 
     string day = match.Groups["day"].value; 
    } 
    //etc. 
} 
3

你可以得到的是這樣的個別日期:

(?<Day>\d{1,2})\.(?<Month>\d{1,2})\.(?<Year>(?:\d{4}|\d{2})) 

我認爲這比試圖去除'Montag'等更有用。