正则是按位解析匹配的,所以[1-32]是不行的。

解析:
1、1-32,包含1位数(1-9)和2位数(10-32)
2、10-32必须切割,10-19和20-29形式一样,得到[12][0-9],30-32有3[012]
3、因此得到[1-9]|[12][0-9]|3[012]
4、考虑全匹配,因此得到/^(?:[1-9]|[12][0-9]|3[012])$/,
   ?:表示不捕获匹配,意思就是不保存括号数据
最终:
$pattern '/^(?:[1-9]|[12][0-9]|3[012])$/';
 

IP地址的正则表达式写法

这里讲的是IPv4的地址格式,总长度 32位=4段*8位,每段之间用.分割, 每段都是0-255之间的十进制数值。

将0-255用正则表达式表示,可以分成一下几块来分别考虑:

取值区间 特点 正则写法 可合并的写法 可合并的写法 可合并的写法
0-9 一位数,只有个位,取值是0~9 \d [1-9]?\d (1\d{2})|([1-9]?\d)

(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))

10-99

两位数,十位取值1-9,个位取值是0~9 [1-9]\d
100-199 三位数,最高位取值为1,十位取值0-9,个位取值0-9 1\d{2}  -
200-249 三位数,最高位取值为2,十位取值0-4,个位取值0-9 2[0-4]\d  -  -
250-255 三位数,最高位取值为2,十位取值5,个位取值0-5 25[0-5]  -  -

IP地址格式可表示为:XXX.XXX.XXX.XXX,XXX取值范围是0-255,前三段加一个.重复了三次,在与最后一段合并及组成IP地址的完整格式。

所以IP地址的正则表示法如下:

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

 
 
 
好文要顶 关注我 收藏该文  

最新文章

  1. 使用SQLServer同义词和SQL邮件,解决发布订阅中订阅库丢失数据的问题
  2. Windows 下安装cryptography-1.6
  3. C# 标准差计算
  4. 主成分分析(PCA)原理及R语言实现
  5. 一站式学习Wireshark(五):TCP窗口与拥塞处理
  6. MQTT——连接报文
  7. 更改dede网站地图模板样式
  8. document,element,node方法
  9. 继续JS之DOM对象二
  10. MySQL 大表数据定期归档
  11. 1、CentOS部署Java开发环境
  12. Get和Load的区别----hibernate
  13. 新装Linux无法访问域名
  14. 1-2 Sass安装(windows版)
  15. 反汇编工具 objdump的使用简介
  16. 配置.net程序集搜索路径
  17. TBS 手册 --phpv 翻译
  18. ubuntu同时装有MXNet和Caffe框架
  19. 常见错误及处理-jsp及Servlet
  20. 多线程辅助类之CountDownLatch(三)

热门文章

  1. 【技术累积】【点】【java】【2】聊一聊似曾相识的switch语句
  2. (转)shiro权限框架详解06-shiro与web项目整合(下)
  3. js预览上传图片
  4. C#的split函数分割
  5. Asp.net Core 源码-SessionExtensions
  6. Spring Boot 项目学习 (二) MySql + MyBatis 注解 + 分页控件 配置
  7. 关于HTML表格中插入背景图片的问题_百度知道 3个回答 - 提问时间: 2009年03月23日 最佳答案: <tr style="background-image:url(1.jpg)"> (这事设置背景图片) <img src="images/bbs_student1.gif" />如果是这样的就是直接插入图片。你看看,...
  8. php多维数组的指定单个字段排序
  9. nyoj252-01串
  10. 用于检测进程的shell脚本