1到32 数字正则 还有IP的
正则是按位解析匹配的,所以[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到32 数字正则 还有IP的的更多相关文章
- 详解一个自己原创的正则匹配IP的表达式
这里给大家详细讲解一下一个匹配IP地址的正则表达式, 有关正则方面的知识,会在详细的讲解中提到. 在讲解之前,我先给大家介绍一下,ip地址的生成规则. IP地址,是由32位数字二进制转为四个十进制的字 ...
- 正则匹配IP
分析 IP地址的长度为32位,分为4段,每段8位,用十进制数字表示,每段数字范围为0~255( 2^8 ),段与段之间用英文句点“.”隔开.例如:某台计算机IP地址为10.11.44.100. IP地 ...
- WPF数字输入框和IP地址输入框
数字输入框 简介 在业务中,我们经常需要限制用户的输入,比如限制输入长度,限制只能输入数字等等.限制输入长度WPF内置的TextBox已经帮我们解决了,但是限制输入数字却并未在WPF中内置解决方案.使 ...
- 正则验证ip
用python爬获取这样一条数据: <td class="ip" id="ip"><p style="display: none;& ...
- EularProject 32: 数字1-9排列构成乘法等式
Pandigital products Problem 32 We shall say that an n-digit number is pandigital if it makes use of ...
- python+正则提取+ip代理爬取糗事百科文字信息
很多网站都有反爬措施,最常见的就是封ip,请求次数过多服务器会拒绝连接,如图: 在程序中设置一个代理ip,可有效的解决这种问题,代码如下: # 需要的库 import requests import ...
- shell正则匹配IP地址
IP分成5大类: A类地址 ⑴ 第1字节为网络地址,其它3个字节为主机地址. ⑵ 范围:1.0.0.1—126.155.255.254 ⑶ 私有地址和保留地址: ① 10.X.X.X是私有地址(只能在 ...
- 剑指Offer面试题:32.数字在排序数组中出现的次数
一.题目:数字在排序数组中出现的次数 题目:统计一个数字在排序数组中出现的次数.例如输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于3在这个数组中出现了4次,因此输出4. 二.解题思路 2 ...
- php基础32:正则匹配-修饰符
<?php //正则表达式--修饰符一般放在//的外面 //1. i 表示不区分大小写 $model = "/php/"; $string = "php" ...
随机推荐
- hiho1804 - 整数分解、组合数、乘法逆元
题目链接 题目叙述很啰嗦,可以简化为:n个球[1-1e5],放到m个不同的桶里,一共多少种不同的放法.[桶里可以不放] ---------------------------------------- ...
- C++调用matlab编程
C++调用Matlab,实在是不得已的方法.原文链接: http://kylen314.blog.com/2012/12/11/matlab_for_cplusplus/ 这是个很善良的博客,只出现 ...
- bzoj 1207 [HNOI2004]打鼹鼠 小技巧
Description 鼹鼠是一种很喜欢挖洞的动物,但每过一定的时间,它还是喜欢把头探出到地面上来透透气的.根据这个特点阿Q编写了一个打鼹鼠的游戏:在一个n*n的网格中,在某些时刻鼹鼠会在某一个网格探 ...
- SQL Server UPDATE语句的用法详解
SQL Server UPDATE语句用于更新数据,下面就为您详细介绍SQL Server UPDATE语句语法方面的知识,希望可以让您对SQL Server UPDATE语句有更多的了解. 现实应用 ...
- WEBGL学习【十四】利用HUD技术在网页上方显示三维物体
关键点: <!--实现原理:要保证这两个canvas相互重叠;z-index表示了两个画布的上下层关系--> <!--是WEBGL的三维图形Canvas(主要用于绘制三维场景)--& ...
- Python编程:从入门到实践 - matplotlib篇 - Random Walk
随机漫步 # random_walk.py 随机漫步 from random import choice class RandomWalk(): """一个生成随机漫步数 ...
- jQuery选择器练习中,带空格和不带空格的问题
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 公司组织oracle培训的理解
oracle执行机制 1.客户端发送一条sql给oracle服务器,oracle会看这条sql的执行计划是否存在缓存 如果存在则直接运行,如果不存在执行第二步. 2.如果不存在缓存 则会 进行语法检 ...
- POJ 2407
裸 的求欧拉函数 #include <iostream> #include <cstdio> #include <cstring> #include <alg ...
- quick-cocos2dx 之transition.execute()的缓动效果
注:本文图片来源(http://hosted.zeh.com.br/tweener/docs/en-us/misc/transitions.html. 侵权请告知,即刻删除) 什么是缓动, 缓动(ea ...