- 浏览: 26686 次
文章分类
最新评论
一个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 1\d\d 百位为1的三位数
200~249 2[0-4]\d 三位数,百位是2,十位是0~9
250~255 25[0-5]
三位数,百位是2,十位是5,个位是0~5
写成正则表达式,即:
(\d|([1-9]\d)|(1\d\d)|(2[0-4]\d)|(25[0-5]))
但是这样的正则表达式在匹配254这样的字串时,会分别匹配2、5、4,得到3个匹配,达不到预期效果,正确做法是将次序颠倒为:
((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d)
因为在(xxx|yyy)这种匹配行为中,是从左向右搜索的。
完整的正则表达式是:
((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d)(\.((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d)){3}
按:
像061这样的高位为0的数是不能被匹配的。
太麻烦,不如自己写一小段代码解析来得容易,例如:
\d+\.\d+\.\d+\.\d+
然后检查格式即可。
--------------------------------------------------------------------------------
一个完整的域名,由根域、顶级域、二级、三级……域名构成,每级域名之间用点分开,每级域名由字母、数字和减号构成(第一个字母不能是减号),不区分大小写,长度不超过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})+\.?
如果正则表达式写成\d{1,3}(\.\d{1,3}){3}无疑是不负责的,因为它可以匹配300.400.555.666这样的非法IP字串。
要匹配一个0~255之间的数,有几种匹配方式,下面是其中一种:
匹配
正则表达式 说明
0~9 \d 单个数字
10~99 [1-9]\d 两位数
100~199 1\d\d 百位为1的三位数
200~249 2[0-4]\d 三位数,百位是2,十位是0~9
250~255 25[0-5]
三位数,百位是2,十位是5,个位是0~5
写成正则表达式,即:
(\d|([1-9]\d)|(1\d\d)|(2[0-4]\d)|(25[0-5]))
但是这样的正则表达式在匹配254这样的字串时,会分别匹配2、5、4,得到3个匹配,达不到预期效果,正确做法是将次序颠倒为:
((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d)
因为在(xxx|yyy)这种匹配行为中,是从左向右搜索的。
完整的正则表达式是:
((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d)(\.((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d)){3}
按:
像061这样的高位为0的数是不能被匹配的。
太麻烦,不如自己写一小段代码解析来得容易,例如:
\d+\.\d+\.\d+\.\d+
然后检查格式即可。
--------------------------------------------------------------------------------
一个完整的域名,由根域、顶级域、二级、三级……域名构成,每级域名之间用点分开,每级域名由字母、数字和减号构成(第一个字母不能是减号),不区分大小写,长度不超过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})+\.?
发表评论
-
程序员的现实日子
2014-01-01 21:34 366好久没有写东西了,由 ... -
代码扰乱程序员日子
2014-01-01 21:31 604叙述者:李仲 31岁 程序员 记载者:杨丁 ... -
解决IE6下的,不能显示透明PNG图片的问题
2014-01-01 21:30 939本人上网上找了很多方法,觉得此文章比较详细,所以记录下来。 ... -
js判断是否是IE浏览器的几种方法
2014-01-01 21:29 556<script> if(!+[1,])alert ... -
Js 判别对象 Undefined 和 Null
2014-01-01 21:28 726Js中判别一个目标是underfined 仍是 Null一向 ... -
如何解决oracle在linux 纯字符界面安装问题?
2013-12-31 18:26 952之前在oracle 下面用图形装了(oracle图形界面安装 ... -
JS判断一个数组中是否有重复值的三种方法
2013-12-28 14:17 0方法一: -
VB URL编码与解码 URL加密与解密
2013-12-28 14:03 1087VB URL 编码与解码,VB URL 加密与解密, ... -
php反序列unserialize的一个小特性
2013-12-27 15:26 604这几天wordpress的那个反序列漏洞比较火,具体漏洞我就不 ... -
VB 获取本机网卡的有效IP、MAC、网卡、网关等信息
2013-12-27 15:19 2827之前要做个东西,写的一段,用的是 Win32_NetworkA ... -
求两个字符串最长公共子串LCS
2012-07-06 09:52 728LCS(Longest Common Subsequenc ... -
Linux - Awk 用法
2012-07-06 09:47 7800.Awk 有三个不同的版本awk,nawk 和gawk, ... -
Android 开发文档 程序基础
2012-07-03 13:44 588service没有可视化用户界面,运行在后台,在不确定的时 ... -
flex与flash的交互
2012-07-02 13:31 536所谓flex与flash的交互,说白了就是在felx里加载 ... -
flex alert的实现
2012-07-02 13:31 620本例来自于flex完全自学手册 flex/spar ... -
flex中自定义事件--------利用元数据标签
2012-07-02 13:31 564使用 标签在 MXML 文件中插入元数据标签。元数据标签 ... -
flex 初始化时的事件测试
2012-07-02 13:31 570flex 初始化时的事 ... -
Flex的通信方式(一)――Webservice-1
2012-07-02 13:31 479flex与Webservices与简单通信 1、格 ... -
Flex + LCDS + Java 入门教程
2012-07-01 11:00 559一.引 很多 ... -
QTP测试Flex页面的步骤
2012-07-01 11:00 540需要的环境: ...
相关推荐
android验证ip地址的正则表达式 android验证ip地址的正则表达式
正则表达式(IP和域名),能够匹配IP字串的正则表达式,实际尝试发现远没有自己写几行代码来判断来得容易
单独的名字可以由正则表达式[a-zA-Z0-9][-a-zA-Z0-9]{0,62}来匹配,而完整的域名至少包括两个名字(比如google.com,由google和com构成),最后可以有一个表示根域的点(在规范中,最后有一个点的才是完整域名,但...
C#字符串和正则表达式参考手册 目 录 第1章 系统处理文本的方式 1 1.1 .NET Framework 1 1.1.1 公共语言运行时 2 1.1.2 .NET Framework类库 3 1.2 文本是一种数据类型 4 1.2.1 C#的数据类型 5 1.2.2 字符和字符集 6 ...
由于我对正则不是很清楚,我想求取把字符串 “str, DGK, rDJK, DJKl,DGK , end” 替换为 “str, MSN, rDJK, DJKl,MSN... 您可能感兴趣的文章:IP地址正则表达式匹配方法匹配 IP 地址与域名的正则表达式Shell
比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。 正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一...
④server_name使用正则表达式并能匹配上www.pm.com的区块。 ⑤如果都没有匹配到,将选择 listen 80 default_server;的区块。 ⑥如果没有第5项,则选择第一个配置文件的第一个server区块。 访问域名www.pm.com就是...
p 53:53/udp -v /root/updns/:/root/.updns/ --restart always updns设定档您可以使用updns config命令,然后调用vim编辑,或找到~/.updns/config编辑您可以指定标准域,也可以使用进行动态匹配正则表达式以~开头...
◆ 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup; ◆ 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who; ◆ 其它...
13.7.4正则表达式中的其他通用规则424 13.7.5使用技巧425 13.8Pattern类的使用426 13.9Matcher类的使用428 13.9.1匹配方法的使用429 13.9.2替换方法的使用430 13.9.3组匹配的使用431 13.9.4检验E-mail的合法...
正则表达式 trie树 双数组trie树 多级Hash表 信息降噪 分类算法_内容识别 黑名单 电子商务风险控制 风险 账户风险 买家风险 卖家风险 交易风险 风控 人工 自动 ...
实例110 获取IP地址和域名 306 实例111 获取网络资源(URL) 308 实例112 FTP文件传输模拟 311 实例113 自制浏览器 316 实例114 点对点通信(Socket基于TCP协议) 323 实例115 点对面通信(Socket基于TCP/IP...
常见的分析工具有正则表达式,BeautifulSoup,lxml等等。 存储 分析出我们需要的内容之后,接下来就是存储了。 我们可以选择存入文本文件,也可以选择存入MySQL或MongoDB数据库等。 存储有两个需要注意的问题: ...
支持正则表达式替换、删除;支持Xpath语法替换、删除、增加或修改节点元素; 支持RSS订阅源的自定义调用:程序内置了百度风云榜调用规则,可以轻松在网页任何位置显示百度风云榜,并形成站内聚合搜索; 支持站内聚合...
支持正则表达式替换、删除;支持Xpath语法替换、删除、增加或修改节点元素; 支持RSS订阅源的自定义调用:程序内置了百度风云榜调用规则,可以轻松在网页任何位置显示百度风云榜,并形成站内聚合搜索; 支持站内聚合...
支持正则表达式替换、删除;支持Xpath语法替换、删除、增加或修改节点元素; 支持RSS订阅源的自定义调用:程序内置了百度风云榜调用规则,可以轻松在网页任何位置显示百度风云榜,并形成站内聚合搜索; 支持站内聚合...
leapYearByLogical.java 用逻辑表达式判断闰年 lowToUpper.java 小写字母转换成大写字母 lozengeStar.java 输出一个由*组成的菱形 multiplyTable.java 求乘法口诀表 narrowingConversion_1.java 缩减转换引发...