正则表达式之匹配数字范围
最近有个需求就是根据产品编号批量下架产品,需要下架日期为16-31号之间的产品,
比如编号为B201607280023匹配表达式如下:
^201607(1[6-9]|2[0-9]|3[0-1]).+
逻辑很简单,如果是必须是1或2或3开头,如果是1开头则后面范围为6-9,如果是2开头则为0-9,如果为3开头则为0-1,因为7月份到31号
同理,如果要匹配前半月的数据则是:
^B201607(0[0-9]|1[1-5]).+
php正则表达式限制数字个数
如何写个正则表达式,只有4个数字才能匹配比如1234可以匹配,12345或者12数字个数不是4个的不能匹配?
\d{4}我试过不可以,12345超过5个数字的也匹配上了,不可以
^[0-9]{4}$可以,改变问题:为什么\d{4}不行能??
\d{4} 这个意思其实是可以匹配至少4个连续的数字,就是说123肯定匹配不上,但是像1234,12345,1234abc这种,只要其中有4个数字连续的,都可以匹配上。如果想卡死只匹配四个数字,那么得加上开始和结束符 ^\d{4}$
正则表达式匹配1-255之间的正整数
$p = '/^(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|[1-9])$/';
for($i=1; $i<=260; $i++)
printf("%4d %d\n", $i, preg_match($p, $i));
楼大体上是对的,但是没有加上单词分隔符
测试数据:
11 123 301 9 10 31 30 33
匹配出:
11
123
30
1
9
10
31
30
33
可见这与预期不符,因为该正则把301拆成30与1了
正确如下:
\b25[0-5]\b|\b2[0-4]\d\b|\b1\d\d\b|\b[1-9]\d\b|\b[1-9]\b
如果还是不懂的朋友建议查看这篇文章:https://www.jb51.net/tools/zhengze.html
相关推荐
-
正则表达式之匹配数字范围
最近有个需求就是根据产品编号批量下架产品,需要下架日期为16-31号之间的产品, 比如编号为B201607280023匹配表达式如下: ^201607(1[6-9]|2[0-9]|3[0-1]).+ 逻辑很简单,如果是必须是1或2或3开头,如果是1开头则后面范围为6-9,如果是2开头则为0-9,如果为3开头则为0-1,因为7月份到31号 同理,如果要匹配前半月的数据则是: ^B201607(0[0-9]|1[1-5]).+ php正则表达式限制数字个数 如何写个正则表达式,只有4个数字才能匹配比
-
浅析一个匹配数字和字母密码的正则表达式
一个用户注册功能的密码有如下要求:由数字和字母组成,并且要同时含有数字和字母,且长度要在8-16位之间. 如何分析需求?拆分!这就是软件设计的一般思路了.于是乎,拆分需求如下: 1,不能全部是数字 2,不能全部是字母 3,必须是数字或字母 只要能同时满足上面3个要求就可以了,写出来如下: ^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$ 分开来注释一下: ^ 匹配一行的开头位置 (?![0-9]+$) 预测该位置后面不全是数字 (?![a-zA-Z]+$)
-
比较常用的几个正则表达式匹配数字(收藏)
正则表达式用于字符串处理.表单验证等场合,实用高效.现将一些常用的表达式收集于此,以备不时之需. 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^\x00-\xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:\n\s*\r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1
-
Python正则表达式匹配数字和小数的方法
1.正则匹配数字,\为转义字符,d+为匹配一次或多次 如下所示:返回的结果为列表 2.正则匹配小数 如下所示,返回的结果125.6为字符串 总结 以上所述是小编给大家介绍的Python正则表达式匹配数字和小数的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感谢大家对我们网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
-
python字符串中匹配数字的正则表达式
Python 正则表达式简介 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Python 语言拥有全部的正则表达式功能. compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象.该对象拥有一系列方法用于正则表达式匹配和替换. re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数. 本章节给大家介
-
Python 正则表达式匹配数字及字符串中的纯数字
Python 正则表达式匹配数字 电话号码:\d{3}-\d{8}|\d{4}-\d{7} QQ号:[1-9][0-9]{4,} 中国邮政编码:[1-9]\d{5}(?!\d) 身份证:\d{15}|\d{18} ip地址:\d+\.\d+\.\d+\.\d+ [1-9]\d* 正整数 -[1-9]\d* 负整数 -?[1-9]\d* 整数 [1-9]\d*|0 非负整数 -[1-9]\d*|0 非正整数 [1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 正浮点数 -([1-
-
如何使用正则表达式对输入数字进行匹配详解
目录 前言: 正文: 总结 前言: 最近有一个区间范围限制,一般255数字以下的都能在网上薅到,但是需要弄一个int16.int32.int64范围的输入限制......在网上逛了很久都没找到,基本都是从0开始教学那种,我又不想看,觉得写的范围太大了,我就单纯的对数字进行校验,最终还是研究了一点点,先说说自己的理解,0如有觉得不对的地方或者还有更简单的方法,请大佬踢我一jio 正文: 下面会使用到一些元字符,边做边解释. 举例:做一个int8的输入限制,也是就是需要将输入框的限制设置在(-128
-
正则表达式同时匹配中英文及常用正则表达式
匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z] 数字:[0-9] 匹配中文,英文字母和数字及_: ^[\u4e00-\u9fa5_a-zA-Z0-9]+$ 同时判断输入长度: [\u4e00-\u9fa5_a-zA-Z0-9_]{4,10} ^[\w\u4E00-\u9FA5\uF900-\uFA2D]*$ 1.一个正则表达式,只含有汉字.数字.字母.下划线不能以下划线开头和结尾: ^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$ 其中:
-
收集一些常用的正则表达式(匹配中文字符、匹配双字节字符、匹配HTML标记、匹配空行 and so on~~~)
正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番.我将一些常用的表达式收藏在这里,作备忘之用.本贴随时会更新,请持续关注本站. 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内):[^\x00-\xff] 应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"a
-
JavaScript中正则表达式判断匹配规则及常用方法
字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在. 正则表达式是一种用来匹配字符串的强有力的武器.它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它"匹配"了. \d可以匹配一个数字 '00\d'可以匹配'007' ,'\d\d\d'可以匹配'010' \w可以匹配一个字母或数字 '\w\w'可以匹配'js' \s可以匹配一个空格(也包括Tab等空白符) \DWS都是表示匹配与
随机推荐
- asp下以Json获取中国天气网天气的代码
- 关于数据库连接池Druid使用说明
- apache中使用.htaccess文件缓存图片的配置方法
- js判断手机浏览器操作系统和微信浏览器的方法
- [js+css]点击隐藏层,点击另外层不能隐藏原层
- IE6/7 and IE8/9/10(IE7模式)依次隐藏具有absolute或relative的父元素和子元素后再显示父元素
- PHP微信红包生成代码分享
- Yii不依赖Model的表单生成器用法实例
- MySQL压力测试方法 如何使用mysqlslap测试MySQL的压力?
- jQuery.Validate验证库的使用介绍
- 共用体的定义与应用详细解析
- Cookie的使用及保存中文并用Cookie实现购物车功能
- jquery实现控制表格行高亮实例
- mysql中使用UDF自动同步memcached效率笔记
- VBS教程:属性-Name 属性
- 通用的二级菜单代码(css+javascript)
- 多php服务器实现多session并发运行
- 分享php多功能图片处理类
- Android中 动态改变对话框值的方法
- 浅谈Windows平台上Docker安装与使用