2012-05-31 72 views
4

我想知道是否有人可以幫我找到一個簡單的正則表達式來搜索一個字符串,並找到並拉出4位數字,而且兩者之間沒有空格。正則表達式 - 在字符串中查找4位數

例如,我試圖找到一個字符串,如一年1965年。如果字符串表示「1965年1月30日」,我想拔出「1965年」,我會怎麼做呢?

我在互聯網上找到了其他人,但我只是得到一個返回的空集。謝謝

+0

他們總是要約會嗎?如果是這樣,最好轉換爲'DateTime'對象,然後使用該對象的'.Year'屬性。 – ThePower

回答

9

正則表達式\b\d{4}\b將做的伎倆。

+0

visual studio說它不識別\ d轉義序列 – user1290653

+2

@ user1290653在字符串的前面添加字符「@」或使用雙反斜槓 – MerickOWA

+1

非常感謝。和@MarickOWA我覺得愚蠢,忘了那個哈哈 – user1290653

2

一個例子。只需將其添加到主要方法。

string pattern = @"\d{4}"; 
System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex(pattern); 
Console.WriteLine(r.Match("30 Jan 1965")); 
Console.WriteLine(r.Matches("30 Jan 1965 2001 2010 test ").Count); 
// will output 
// 1965 
// 3 
+0

我使用Match BirthYear = Regex.Match(kvpInd.Value.birth.date,@「(? \ b \ d {4} \ b)」); 和 BirthYear.Groups [「BrtYr」]。ToString() – user1290653

相關問題