正则表达式基础知识和ipv4的正则表达式

原创 2012年03月23日 19:56:54
正则表达式基础知识
http://deerchao.net/tutorials/regex/regex.htm#metacode
句点符号”.”:		匹配除了换行符意外的任意一个字符
方括号”[ ]”:		匹配方括号之内的任意一个字符
或符号”|”: 		表达逻辑或的关系
星号”*” : 		出现0次或者多次
加号”+” :  		出现一次或者多次
问好”?” :  		出现0次或者一次
花括弧”{n}”:		恰好出现n次
花括弧”{n,m}”:	出现n次到m次
连字符”-”:		表示一个范围
转义字符”\”:	和编程语言中的转义字符意义一致
否符号”^”: 		表示不想要匹配的字符
空白符号”\s”:	匹配所有的空白符号
圆括号”()”:		创建一个组
常用的符号:
\d    	 		[0-9]
\D				[^0-9]
\w				[A-Z0-9]
\W				[^A-Z0-9]
\s		 		[\t\n\r\f]
\S				[^\t\n\r\f]
在介绍分组的时候,举了一个ip地址匹配的例子:
((2[0-4]/d|25[0-5]|[01]?/d/d?)/.){3}(2[0-4]/d|25[0-5]|[01]?/d/d?)
这个表达式的/d/d?)处应该修改为/d?/d 分析如下:
1)IP地址的长度为32位,分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,段与段之间用英文句点“.”隔开。以255.226.168.1为例,可以分析出IP地址的组成特点,250——255、200——249、0——199
2)
250——255,用正则可以写成:25[0-5];
200——249可以这样写:2[0-4]/d;
0——199有些麻烦,不过可以继续分拆,这样写起来更加简单明了,0——9、10——99、100——199,这样分开考虑,就得到了三个式子:/d、/d/d(有冗余)、1/d/d,这三个式子我们可以像合并同类项一样把它们合并到一起:[01]?/d?/d
这样,一段地址的表达式就是:2[0-4]/d|25[0-5]|[01]?/d?/d 
后三段每段数字之前都有一个“.”号,合并起来考虑,前三段数字可以写到一起,第四段单独写,合并得到ip地址匹配的正则表达式:
((2[0-4]/d|25[0-5]|[01]?/d?/d)/.){3}(2[0-4]/d|25[0-5]|[01]?/d?/d)

IPv4 正则表达式的写法

首先我们知道IPV4的范围是 0.0.0.0 - 255.255.255.255,那么我们需要对0到255范围的数字进行分段匹配:         1. 匹配0-9之间的数    [0-9] 或 \d...
  • ace_fei
  • ace_fei
  • 2012年02月07日 12:09
  • 4342

JS校验合法IP的正则表达式(包括IPV4和IPV6)

正则表达式 校验IPV4:  ^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$ 校验IPV6: ^\s*(((...
  • Cug_wangww
  • Cug_wangww
  • 2017年12月11日 11:15
  • 209

ipv6与ipv4的js正则判断

function queryDev(ip){ var exp=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\...
  • chenhua4088
  • chenhua4088
  • 2014年07月10日 11:34
  • 940

验证IPV4正则表达式

IPV4地址由4个组数字组成,每组数字之间以.分隔,每组数字的取值范围是0-255。 IPV4必须满足以下四条规则: 1、任何一个1位或2位数字,即0-99; 2、任何一个以1开头的3位数字,即...
  • mhmyqn
  • mhmyqn
  • 2012年08月26日 14:33
  • 11778

IPv4 地址匹配 正则表达式

最近在学习正则表达式的时候发现一个很好的入门网页:http://deerchao.net/tutorials/regex/regex.htm#metacode  在介绍分组的时候,举了一个ip地址匹配...
  • justheretobe
  • justheretobe
  • 2011年06月24日 19:53
  • 1457

检查IPv4和IPv6地址的正则表达式

原文:http://hi.baidu.com/hwangustc/blog/item/1747d649ff3bfbfa82025c5d.html 今天看了点正则表达式(regular express...
  • yang_hui1986527
  • yang_hui1986527
  • 2012年04月19日 01:54
  • 1718

用正则表达式匹配IPV4地址

写一个正则表达式匹配IPV4地址说容易也容易,说难也难,取决于需要的准确度。简单起见,这里只考虑点分十进制的IPV4地址。 最简单的方式是把IPV4地址看做四段十进制数字串,由三个点号隔开,可...
  • u012942818
  • u012942818
  • 2015年09月11日 23:32
  • 1014

怎样用正则表达式匹配IPV4地址

写论文写累了,忽然想起以前面试时的一道题:怎样用正则表达式匹配IPV4地址?在网上找到两篇很好的英文文章,把相关内容翻译综合一下,与诸君共享。 原文链接: http://blogs.msdn.co...
  • q472599451
  • q472599451
  • 2012年11月29日 10:35
  • 26785

JS正则匹配IPV4 IPV6

bootstrapvalidator 里面的 var ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-...
  • Kan_Auyeung
  • Kan_Auyeung
  • 2015年03月16日 23:41
  • 1053

Python 正则表达式验证IPv4地址

1. Simple regex to check for an IP address ^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$ 2. Accurate regex to che...
  • guaguastd
  • guaguastd
  • 2014年10月31日 10:17
  • 2131
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:正则表达式基础知识和ipv4的正则表达式
举报原因:
原因补充:

(最多只允许输入30个字)