千家信息网

如何使用正则表达式匹配数字范围

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,今天就跟大家聊聊有关如何使用正则表达式匹配数字范围,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。最近有个需求就是根据产品编号批量下架产品,需要
千家信息网最后更新 2026年10月31日如何使用正则表达式匹配数字范围

今天就跟大家聊聊有关如何使用正则表达式匹配数字范围,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

最近有个需求就是根据产品编号批量下架产品,需要下架日期为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

看完上述内容,你们对如何使用正则表达式匹配数字范围有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

数字 正则 表达式 开头 范围 产品 内容 个数 之间 就是 数据 不行 分隔符 单词 只有 大体上 就是说 意思 整数 日期 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手冲咖啡和咖啡机区别 什么是科技互联网 厦门中拓互联网络科技有限公司 互联网通讯科技 互联网品科技 智能科技公司是互联网公司吗 奔汉互联网科技 猫创互联网科技 互联网巨头投资的硬核科技 深圳前海聚择互联网科技有限公司 互联网之后的科技是什么 全球顶尖互联网科技公司 晓花互联网科技有限公司网址 亳州好赞互联网科技有限公司 明优互联网科技有限公司 中科明德北京互联网科技 风投北京互联网科技 上海同邻互联网科技有限公司规模 数字科技和互联网金融哪个好 广东猫王互联网科技有限公司电话 手磨咖啡 广州淘业互联网络科技 互联网金融监管科技数据 美国互联网科技巨头监管 重庆科技学院互联网 海南科技产业互联网平台 老年人脱离互联网科技的作文 互联网科技数字货币 求路客互联网科技电话 互联网的黑科技实验室
0