2012-03-16 73 views
1

我要檢查,如果該字符串值形式的如何檢查是否字符串是在C#中特定格式

i) 6.2.****.0 

ii) 6.2.****.0000 

*代表1-9

任何數字我怎樣才能做到這一點的使用C#?讓我知道哪種方式(用較少的代碼)可以幫助我實現這一點?如果我可以使用正則表達式,如何使用相同的方法來實現上述檢查?

回答

7

如果你只是在尋找的數字部分(不是i)前綴),並且必須有4位數字請嘗試以下

if (Regex.IsMatch(theString, @"6\.2\.[1-9]{4}\.0+")) { 
    // It's a match 
} 

注意:這實際上將字符串中的任何位置相匹配的特定模式。如果你想看看整個字符串模式匹配,則需要使用以下

if (Regex.IsMatch(theString, @"^6\.2\.[1-9]{4}\.0+$")) { 
    // It's a match 
} 
+0

我認爲,「D」也將考慮數字「0」這是我不需要。 我想我會在正則表達式中使用[1-9]代替\ d。 – 2012-03-16 06:53:30

+0

@stack_pointerisEXTINCT我不好,忘了0是無效的。將它切換到'[1-9]' – JaredPar 2012-03-16 06:54:59

0
if (Regex.IsMatch(text, @"(^6\.2\.[1-9]{4}\.0{4}$)") || Regex.IsMatch(text, @"(^6\.2\.[1-9]{4}\.0$)")) 
{ 
    // some code 
} 

if (Regex.IsMatch(text, @"(\A6\.2\.[1-9]{4}\.0{4}\Z|\A6\.2\.[1-9]{4}\.0\Z)")) 
{ 
    // some code 
} 
+0

,您可以用'\ A'和'$'替換爲'^'以及'\ Z'。 – Darshana 2012-03-16 09:12:20

相關問題