正则表达式-匹配IP、域名
来源:互联网 发布:淘宝的内部优惠微信号 编辑:程序博客网 时间:2024/06/07 14:18
IP
IP是由四段组成,每一段是0-255的数字,段与段之间用小数点隔开,比如192.168.1.1就是合法的IP地址。
如果正则表达式写成d{1,3}(.d{1,3}){3}无疑是不负责的,因为它可以匹配300.400.555.666这样的非法IP字串。
如果要匹配一个0-255之间的数,有几种匹配方式,下面是其中一种:
写成正则表达式,即:(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}
域名
一个完整的域名,由根域名、顶级域、二级、三级……域名构成,每级域名之间用点分开,每级域名由字母、数字和减号构成(第一个字母不能是减号),不区分大小写,长度不超过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})+.?
- 正则表达式-匹配IP、域名
- 匹配IP字串、域名的正则表达式
- 匹配IP字串、域名的正则表达式
- 匹配IP字串、域名的正则表达式
- 匹配IP字串、域名的正则表达式
- 匹配IP字串、域名的正则表达式
- 匹配IP字串、域名的正则表达式
- [Regex ]正则表达式匹配ip和域名
- 匹配IP字串、域名的正则表达式
- C++ regex 正则表达式 匹配IP 域名
- 匹配IP字串、域名的正则表达式
- C++ regex 正则表达式 匹配IP 域名
- 正则表达式匹配域名
- 匹配域名的正则表达式
- IP和域名正则表达式
- 正则匹配ip ip正则表达式
- java匹配IP正则表达式
- 正则表达式匹配ip地址
- 工厂设计模式
- 如何在基于tensorflow的深度学习框架keras中指定GPU
- C++中两个类相互引用的解决办法
- Nginx服务器下ThinkPHP5访问出现404以及URL隐藏index.php
- 负载均衡以及四层和七层负载均衡的区别
- 正则表达式-匹配IP、域名
- Java数据类型
- CodeForces
- 64位centos7 编译 32位文件出错
- frame、bounds与center属性
- 取近似值
- spark 2.1 reduce
- win10磁盘占用100%
- [bigdata-077] maven+mybatis+mysql 数据库 mybatis xml文件方式 示例