正则表达式之匹配数字范围,正则表达式匹配数字

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

linux正则匹配8位数字日期,正则表达式之匹配数字范围,正则表达式匹配数字相关推荐

  1. 雅思听力数字日期归纳总结

    雅思听力数字日期归纳总结 文章目录 雅思听力数字日期归纳总结 ① 常规数字 ② 电话号码 ③ 百分数 ④ 带有单位的数字 小数 钱数 ⑤ 日期 格式 月份缩写:(建议写全) 时间的表示格式: ⑥ 了解 ...

  2. iOS 正则表达式判断纯数字以及匹配11位手机号码

    1用正则表达式 //是否是纯数字 + (BOOL)isNumText:(NSString *)str{NSString * regex = @"(/^[0-9]*$/)";NSPr ...

  3. ios 判断数字开头_iOS 正则表达式判断纯数字及匹配11位手机号码的方法

    第一种使用正则表达式 判断 //是否是纯数字 + (BOOL)isNumText:(NSString *)str{ NSString * regex = @"(/^[0-9]*$/)&quo ...

  4. js正则 匹配 汉字、数字、英文字母、下划线 正则表达式

    1.由数字.26个英文字母或者下划线组成的字符串: ^[0-9a-zA-Z_]{1,}$ 2.非负整数(正整数 + 0 ): ^/d+$ 3.正整数: ^[0-9]*[1-9][0-9]*$ 4.非正 ...

  5. python正则匹配字母后面四位数字_怎么写一条正则去匹配15位、18位、还有最后一个字符为字母的身份证号...

    大佬们,我想用一条正则表达式在一堆字符串里面去匹配匹配15位.18位.还有最后一个字符为字母的身份证号.那一堆字符串如下: |_ Potentially risky methods: TRACE |_ ...

  6. php 正则匹配11位数字,php正则匹配数字

    方法一: if(preg_match("/^\d*$/",$fgid)) echo('是数字'); else echo('不是数字'); 方法二: if(is_numeric($f ...

  7. php正则大小写字母,php 常见email,url,英文大小写,字母数字组合等正则表达式详解...

    操作符 描述 \ 转义符 (), (?:), (?=), [] 圆括号和方括号*, +, ?, {n}, {n,}, {n,m} 限定符 ^, $, \anymetacharacter 位置和顺序 | ...

  8. linux正则 转义字符,正则表达式(5):转义符

    在本博客中,"正则表达式"为一系列文章,如果你想要从头学习怎样在Linux中使用正则,可以参考此系列文章,直达链接如下: "正则"系列的每篇文章都建立在前文的基 ...

  9. EmEditor中大纲正则表达式如何匹配多位序号,如从1、到999

    在知乎挂出了问题,没人理,求人不如求己,我自己终于把这个问题搞定了 要匹配诸如:1.2.3.4....999.,可以这样写: ^[1-9]([0-9]{0,2})[.].* 解释: ^:表示从行首开始 ...

最新文章

  1. 一个人就需要对象之js中八种创建对象方式
  2. Linux中kill,pkill,killall和xkill命令汇总讲解
  3. 验证字符串是否为汉字
  4. 获得WebBrowser中的图片数据
  5. python 特性和方法同名_Python类:方法与属性同名
  6. 生成jni的android.mk,Android Studio 3.5版本JNI生成SO文件详解
  7. Android自定义printf/printk/ALOGE函数LOG_TAG
  8. 思科和华为交换机常用命令对比学习
  9. atitit.gui界面纵向居中总结
  10. STM32的定时器中断与实例
  11. python 查找字符第一次出现位置_python 字符串第n次出现的位置 | 学步园
  12. color 常用色值
  13. myeclipse设置黑色主题
  14. CVTE前端开发一面
  15. python判断手机号运营商_如何判断手机号的运营商那?
  16. Cisco 3750 策略路由
  17. 迅捷转换器转换效果鉴赏
  18. TCP中的拆包及粘包
  19. 利用Nginx架设Http代理服务器
  20. [转]怎么选择笔记本电脑?笔记本电脑参数指标!笔记本电脑全攻略

热门文章

  1. 一夜爆火的现象级产品ChatGPT,是AI突破还是昙花乍现?
  2. PyTorch笔记 - Attention Is All You Need (1)
  3. QQ,微信第三方登陆
  4. Spring data JPA的基本使用把你难到了吗?
  5. java设置默认打印机_java 指定打印机 进行打印
  6. 用树莓派推流触手TV
  7. 微信小程序全局变量globalData
  8. airpodspro窃听模式_AirPods pro通透模式什么原理?
  9. Spring Aop源码学习--PointCut切入点
  10. Ka-CHOCO国产士力架的测评