分组--正则表达式
发布时间:2020-12-14 00:41:33 所属栏目:百科 来源:网络整理
导读:在正则表达式中,可以用小括号将一些规则括起来当作分组,分组可以作为一个元字符来看待。 分组的例子,验证 IP 地址: (d{1,3}.){3}d{1,3} 这是一个简单的且不完善的匹配 IP 地址的正则表达式,因为它除了能匹配正确的 IP 地址外,还能匹配如 322.197.57
在正则表达式中,可以用小括号将一些规则括起来当作分组,分组可以作为一个元字符来看待。 分组的例子,验证 IP 地址: (d{1,3}.){3}d{1,3} 这是一个简单的且不完善的匹配 IP 地址的正则表达式,因为它除了能匹配正确的 IP 地址外,还能匹配如 322.197.578.888 这种不存在的 IP 地址。 当然,用这个表达式简单匹配成功后可以在利用 PHP 的算术比较再加以判断 IP 地址是否正确。而正则表达式中没有提供算术比较功能,如果要完全匹配正确的 IP 地址,则需要改进如下: ((25[0-5]|2[0-4]d|[01]?dd?).){3}(25[0-5]|2[0-4]d|[01]?dd?) 规则说明该规则关键之处在于确定 IP 地址每一段范围为 0-255 ,然后再重复 4 次即可。在: 25[0-5]|2[0-4]d|[01]?dd? 中,用分枝首先确定了 250-255 和 200-249 。 [01]?dd? 则确定了 0-199 的范围,综合起来就是 0-255 。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |