[急]有关C#中正则表达式判断ip格式的问题!

staticvoidMain(string[]args){stringwordsIn=Console.ReadLine();//格式判断char[]temp=wordsI... 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);
}
}

为啥测试是正确的?!
------------------------------------------
192.168.1.256

IP 地址正确!
展开
 我来答 举报
albumin
2013-12-17 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2421万
展开全部
因为你没有对整个字符串应用正则

string regexIp = "^((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)$";
加个字符串开始和结束标志^和$,这样192.168.1.256就不正确了
原来的正则匹配了字符串前面的 192.168.1.25
网易云信
2023-12-06 广告
信令SDK是一种软件开发工具包,旨在帮助开发者在应用程序中实现信令协议的通信功能。它主要提供了一系列函数、协议和工具,用于处理信令消息的生成、解析、传输和存储等操作。通过使用信令SDK,开发者可以更快速、便捷地实现信令通信功能,提高应用程序... 点击进入详情页
本回答由网易云信提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式