正则表达式匹配IP

 static void Main(string[] args)
        {
            //择一匹配,查找数字或字母
            //string s="ad是是fs地dff22天{!@!~}}sdfsdffffcz";
            //string pattern [email protected]"\d|[a-z]";//表达式(匹配所有数字或小写字母)
            //MatchCollection col = Regex.Matches(s, pattern);//Matches方法,每一个匹配上的结果存入col中。
            //foreach (Match m in col)//遍列出col中的Match
            //{
            //    Console.WriteLine(m);
            //}

            //将人名输出
            //string s1 = "zhangsan;lisi,wangwu.zhaolliu";
            //// string pattern1 = @"[;,.]";//[]匹配
            //string pattern1 = @"[;]|[,]|[.]";//择一匹配
            //string[] res= Regex.Split(s1, pattern1);
            //foreach (string s2 in res)
            //{
            //    Console.WriteLine(s2);
            //}

            //校验国内电话号码是否合法(方式一:010-87654321;方式二:(010)87654321)
            //string[] TellNumBer = new string[8];
            //TellNumBer[0] = "(010)87654321";
            //TellNumBer[1] = "010-87654321";
            //TellNumBer[2] = "01087654321";
            //TellNumBer[3] = "09087654321";
            //TellNumBer[4] = "(090)87654321";
            //TellNumBer[5] = "090-87654321";
            //TellNumBer[6] = "(09087654321";
            //TellNumBer[7] = "91287654321";
            //Regex RegexTellNumber = new Regex(@"\(0\d{2,3}\)\d{7,8}|^0\d{2,3}\-\d{7,8}$");
            //foreach (string Tell in TellNumBer)
            //{
            //    Console.WriteLine(Tell + "是否合法:" + RegexTellNumber.IsMatch(Tell));
            //}

            //重复 多个字符 使用(abcd){n}进行分组限定
            //string strGroup = @"(ab\w{2}){2}";//ab+两个数字并重复两次
            //string s3 = "ab12ab3233ab34ab45";
            //Regex RegexGroup = new Regex(strGroup);
            //Console.WriteLine(RegexGroup.Replace(s3,"replace"));//将满足条件的替换掉

            //校验IP4地址是否合法
            //2[0-4]\d      第一位为2时,第二位可为0-4
            //25[0-5]  或者一二位为25时,第三位为0-5
            //[01]?\d\d?  或者第一位的0或1出现1次或0次时,第二\d,第三位\d出现0或1次
            //\. 点
            //{3}上面的重复出现3次
            //(2[0-4]\d|25[0-5]|[01]?\d\d?) 判断第4位IP的情况
            string PatternIP = @"^(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?))$";
            string IP = "8.168.1.111";
            Regex RegexIp = new Regex(PatternIP);
            Console.WriteLine(RegexIp.IsMatch(IP));
            Console.ReadKey();

        }
时间: 2024-08-03 22:04:58

正则表达式匹配IP的相关文章

使用正则表达式匹配IP地址

如何使用正则表达式匹配IP地址?这是很常见的任务.说难也难,说易也易,取决于在匹配的精确度以及正则表达式复杂度之间很好的折中. 通常,IP地址以点分十进制方式表示,IP地址分为4段,以点号分隔.要对IP地址进行匹配,首先要对其进行分析.0.0.0.0 - 255.255.255.255 一个简单的正则表达式: [0-9]+(?:\.[0-9]+){0,3} 或者 ^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$ 它能够完成我们的任务,但是像"3948.3.89.34238"

python中利用正则表达式匹配ip地址

现在有一道题目,要求利用python中re模块来匹配ip地址,我们应如何着手? 首先能想到的是ip地址是数字,正则表达式是如何匹配数字的呢? \d或[0-9] 对于这个问题,不要一下子上来就写匹配模式,应该一步步分解,把复杂的问题简单化 比如ip地址,我们可以总结一下规律 1. 它是一个字符串 2. 字符串内部是由4个1-3位的数字和3个.组成 3. 数字的范围是0-255 接下来,我们先试一下匹配第1个数字 第一步:尝试匹配192.168.100.123中的192 >>> import

正则表达式匹配IP和月日

匹配IP地址: egrep "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" file 思路: 250-255  200-249  1-199 月日匹配: egrep ([1-9]|1[0-2])([1-9]|[1-

正则表达式----------匹配IP地址

正则表达式 ^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9

正则表达式匹配IP地址

'''首先分析ip地址的特征:255.255.255.255,前三位的数字处理基本一致 1位: 0-9              \d2位:10-99         [1-9]\d3位:100-199      1\d\d3位:200-249      2[0-4]\d3位:250-255      25[0-5] ''' 先匹配前三位数字: (\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]) 前三位加上 . ((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0

正则表达式匹配身份证 电话号码 邮箱 住宅电话 邮编等

身份证号码的匹配 大陆的居民身份证号码有两种:18位和15位,15位的身份证号码是老一代身份证号码. 18位和15位的区别在于两个部分:第一,18位号码的年份以4位计而15位号码的年份为2位,如1987年在18位号码中为'1987'而在15位号码中为'87',这里1987只是作为一个例子可能1987年及以后根本不存在15位号码:第二处不同在于18位号码的最后一位为数字校验码,15位号码没有数字校验位. 好吧,可能你还不知道身份证号码各个部分代表着什么,那么让我简略地介绍一下. 身份证号码总共有4

js 正则表达式匹配

整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$只能输入数字:"^[0-9]*$".只能输入n位的数字:"^\d{n}$".只能输入至少n位的数字:"^\d{n,}$".只能输入m~n位的数字:."^\d{m,n}$"只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$".只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$".只能输入有1~

【转】正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度

匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z] 数字:[0-9] 匹配中文,英文字母和数字及_: ^[\u4e00-\u9fa5_a-zA-Z0-9]+$ 同时判断输入长度:[\u4e00-\u9fa5_a-zA-Z0-9_]{4,10} ^[\w\u4E00-\u9FA5\uF900-\uFA2D]*$ 1.一个正则表达式,只含有汉字.数字.字母.下划线不能以下划线开头和结尾:^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$  其中:^

常用的正则表达式-匹配中英文、字母和数字

在做项目的过程中,使用正则表达式来匹配一段文本中的特定种类字符,是比较常用的一种方式,下面是对常用的正则匹配做了一个归纳整理. 匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z] 数字:[0-9] 匹配中文,英文字母和数字及_: ^[\u4e00-\u9fa5_a-zA-Z0-9]+$ 同时判断输入长度: [\u4e00-\u9fa5_a-zA-Z0-9_]{4,10} ^[\w\u4E00-\u9FA5\uF900-\uFA2D]*$ 1.一个正则表达式,只含有汉字.数字.字