2012-03-16 74 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

相关问题