使用正则表达式匹配零

时间:2010-11-11 06:58:52

标签: c# regex

如何使用Regex

执行以下操作
String Str="11111111";
if(Str.Contains("0"))
         MessageBox.Show("Not matching");
else
         MessageBox.Show("Matching");

此模式是否正确Regex rx=new Regex("0*");

Mathc mh=rx.Match(Str);

if(mh.Success==false)
         MessageBox.Show("Not matching");
else
         MessageBox.Show("Matching");

但它不起作用。我的字符串Str没有0,但显示mh.Success=true

请帮帮我

2 个答案:

答案 0 :(得分:6)

星号(*)表示0或更多次出现,你想要的只是在任何地方找到一个出现,所以简单地说“0”就可以了,即:

Regex ex = new Regex("0");

答案 1 :(得分:3)

正则表达式0*指的是零个或多个0个。这就是比赛成功的原因。正如Aviad P.所说,只有表达式0才能做到。或者,您可以使用^[^0]*$之类的表达式作为必须与整个字符串匹配的测试表达式。当然,当一个简单的string.Contains完成工作时,没有理由在这里使用正则表达式。