2013-10-20 39 views
2

我得到一個字符串,可以有一個看起來像這樣的部分:「1.0.0」,但它也可以看起來像這個「1.0.0.0」,這些是我需要的部分在字符串之外。 我嘗試使用正則表達式:在一個字符串中搜索一個特定的模式C#

var dotPart = Regex.Match(infoString, @"(\d+)\.(\d+)\.(\d+)(\.d+)*"); 

這部作品「1.0.0」不錯,但不是「1.0.0.0」,然後只返回前3位數字,而不是最後一次。 如何修復我的模式?而對於一般的知識,我寫的模式有什麼問題?

+0

你沒有顯示你如何從匹配中提取值。如果你能展示一個簡短的但完整的程序來展示問題,那真的很有幫助。 –

回答

3

你錯過了最後一個反斜槓在\d

var dotPart = Regex.Match(infoString, @"(\d+)\.(\d+)\.(\d+)(\.\d+)*"); 
+0

上帝該死!這件事實際上是如何減慢我的速度 –

+0

......它發生在我們所有人偶爾:-) – elgonzo

+0

確實如此:) – Jerry

相關問題