网站运营 | 站长学院 | 技术文档 | 成语 | 歇后语 | 桌面壁纸 | 帝国时代 | 代码收藏 | IP地址查询 | 生活百科 | 生日密码 | CSS压缩 | 用户评论

匹配IP字串、域名的正则表达式

【 网络作者:佚名 更新时间:2008-04-21 | 字体:
[导读]1>。IP IP字串,由四段组成>>>,每一段是0~255的数字>,段与段之间用小数点隔开>>,比如61.139.2.69就是一个合法的IP字串>。如果正则表达式写成d{1,3}(.d{1,3}){3}无疑是不负责的,因为它可以匹配300.400.555.666这样的非法...

1。IP

IP字串>>,由四段组成,每一段是0~255的数字>,段与段之间用小数点隔开>>,比如61.139.2.69就是一个合法的IP字串>。如果正则表达式写成d{1,3}(.d{1,3}){3}无疑是不负责的>>,因为它可以匹配300.400.555.666这样的非法IP字串>。要匹配一个0~255之间的数,有几种匹配方式,下面是其中一种:

匹配 正则表达式 说明
0~9 d 单个数字
10~99 [1-9]d 两位数
100~199 1dd 百位为1的三位数
200~249 2[0-4]d 三位数,百位是2>,十位是0~9
250~255 25[0-5] 三位数>,百位是2>,十位是5,个位是0~5

写成正则表达式,即:(d|([1-9]d)|(1dd)|(2[0-4]d)|(25[0-5])),但是这样的正则表达式在匹配254这样的字串时>>,会分别匹配2>>、5>>>、4>,得到3个匹配,达不到预期效果>,正确做法是将次序颠倒为((25[0-5])|(2[0-4]d)|(1dd)|([1-9]d)|d),因为在(xxx|yyy)这种匹配行为中>,是从左向右搜索的>>>。

完整的正则表达式是:

((25[0-5])|(2[0-4]d)|(1dd)|([1-9]d)|d)(.((25[0-5])|(2[0-4]d)|(1dd)|([1-9]d)|d)){3}

2。 域名

一个完整的域名,由根域、顶级域>>、二级、三级……域名构成>,每级域名之间用点分开>,每级域名由字母、数字和减号构成(第一个字母不能是减号)>,不区分大小写,长度不超过63。

很显然,单独的名字可以由正则表达式[a-zA-Z0-9][-a-zA-Z0-9]{0,62}来匹配>>,而完整的域名至少包括两个名字(比如google.com,由google和com构成)>>,最后可以有一个表示根域的点(在规范中,最后有一个点的才是完整域名>,但一般认为包括两个以上名字的域名也是完整域名,哪怕它后面没有点)。

匹配完整域名的正则表达式:

[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.?

友荐云推荐
  • 转载请注明来源:网站运营 网址:http://www.chinawobo.com/ 向您的朋友推荐此文章
  • 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载>,但请务必注明出处和原始作者>。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意>>。如果本站转载的文章有版权问题请联系我们>,我们会尽快予以更正。
RSS订阅
  • QQ邮箱
  • 填写您的邮件地址>>,订阅我们的精彩内容:
更多
© 2014 网站运营 - T086.com(原itlearner.com)
微商货源 | 冠珠陶瓷 | 迪威乐云商devmsn | 易奇八字 | wwe美国职业摔角 | 八字算命 | 河南旅游景点大全 |
RunTime:6.48ms QueryTime:7