Unity - A计划(一年有效期) 扫二维码继续学习 二维码时效为半小时

(61评价)
价格: 2150.00元
第三季 C#编程高级教程 正则表达式例题
一个长征路上的士兵发起了话题2020-03-16
1
回复
367
浏览

我发现一个正则表达式的例题答案可以改进。IP4的例题

这是讲解的答案,我觉得改进为如下会更好

//校验IP4地址,如192.255.7.42,一共四段,每段数字最大值为255,并且每一段第一位不能为0.

            string pattern = @"^(((25[0-5]|2[0-4]\d|1\d\d|[1-9]\d?|0)\.){3}(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d?|0))$";

            //string pattern = @"^(((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?))$";
            string IP4_1 = "125.436.2.95";
            string IP4_2 = "46.089.3.255";
            string IP4_3 = "78.0.3.10";
            string IP4_4 = "255.255.255.1";
            Console.WriteLine(Regex.IsMatch(IP4_1,pattern));
            Console.WriteLine(Regex.IsMatch(IP4_2, pattern));
            Console.WriteLine(Regex.IsMatch(IP4_3, pattern));
            Console.WriteLine(Regex.IsMatch(IP4_4, pattern));

理由[0,1]?\d\d?可包含089,007,000等情形,与功能要求有点不符,所以应该把这个再择一匹配。

希望没有冒犯老师哈!

所有回复
发表回复
你还没有登录,请先 登录或 注册!