我想检查字符串值是否为
格式i) 6.2.****.0
ii) 6.2.****.0000
其中*表示1-9
中的任何数字如何使用C#实现这一目标? Pl让我知道哪种方式(用更少的代码)可以帮助我实现这个目标?如果我可以使用正则表达式,如何使用它来实现上述检查?
答案 0 :(得分: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
}
答案 1 :(得分: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
}