C#关于正则表达式匹配IP地址的问题

我的代码如下:if(Regex.IsMatch(PingtextBox.Text.Trim(),@"\d+.\d+.\d+.\d+")==false){MessageBo... 我的代码如下:
if (Regex.IsMatch(PingtextBox.Text.Trim(), @"\d+.\d+.\d+.\d+")==false)
{
MessageBox.Show("IP格式设置错误!", "提示");
PingtextBox.Focus();
}
else
{
MessageBox.Show("IP格式设置成功!", "提示");
}
为何我在PingtextBox中输入“192.168”,"192.168.1"或者"192.168.0.1.1"这样的字符串,都提示的IP格式设置成功,如何解决。
展开
 我来答
玩转数据处理
推荐于2016-02-09 · 数据处理,Python,dotnet
玩转数据处理
采纳数:1613 获赞数:3794

向TA提问 私信TA
展开全部
 bool IsValidIp(string strIn)
 {
   return Regex.IsMatch(strIn,@"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$"); 
}
九千流云雀
2015-10-26 · TA获得超过1635个赞
知道大有可为答主
回答量:2160
采纳率:0%
帮助的人:999万
展开全部
static void Main(string[] args)
{
string wordsIn = Console.ReadLine();
//格式判断
char[] temp = wordsIn.ToCharArray();
int count = 0;
foreach (char c in temp)
{
if (c == '.')
{
count++;
}
}
if (count != 3)
{
Console.WriteLine("001_IP 格式错误");
Console.ReadKey(true);
}
else
{
//数值+格式
string regexIp = "((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)";
Regex ip = new Regex(regexIp);
if (ip.IsMatch(wordsIn))
{
Console.WriteLine("IP 地址正确!");
}
else { Console.WriteLine("002_内容错误"); }
Console.ReadKey(true);
}
}

为啥测试是正确的?!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式