linux正则匹配8位数字日期,正则表达式之匹配数字范围,正则表达式匹配数字
正则表达式之匹配数字范围,正则表达式匹配数字
最近有个需求就是根据产品编号批量下架产品,需要下架日期为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位数字日期,正则表达式之匹配数字范围,正则表达式匹配数字相关推荐
- 雅思听力数字日期归纳总结
雅思听力数字日期归纳总结 文章目录 雅思听力数字日期归纳总结 ① 常规数字 ② 电话号码 ③ 百分数 ④ 带有单位的数字 小数 钱数 ⑤ 日期 格式 月份缩写:(建议写全) 时间的表示格式: ⑥ 了解 ...
- iOS 正则表达式判断纯数字以及匹配11位手机号码
1用正则表达式 //是否是纯数字 + (BOOL)isNumText:(NSString *)str{NSString * regex = @"(/^[0-9]*$/)";NSPr ...
- ios 判断数字开头_iOS 正则表达式判断纯数字及匹配11位手机号码的方法
第一种使用正则表达式 判断 //是否是纯数字 + (BOOL)isNumText:(NSString *)str{ NSString * regex = @"(/^[0-9]*$/)&quo ...
- js正则 匹配 汉字、数字、英文字母、下划线 正则表达式
1.由数字.26个英文字母或者下划线组成的字符串: ^[0-9a-zA-Z_]{1,}$ 2.非负整数(正整数 + 0 ): ^/d+$ 3.正整数: ^[0-9]*[1-9][0-9]*$ 4.非正 ...
- python正则匹配字母后面四位数字_怎么写一条正则去匹配15位、18位、还有最后一个字符为字母的身份证号...
大佬们,我想用一条正则表达式在一堆字符串里面去匹配匹配15位.18位.还有最后一个字符为字母的身份证号.那一堆字符串如下: |_ Potentially risky methods: TRACE |_ ...
- php 正则匹配11位数字,php正则匹配数字
方法一: if(preg_match("/^\d*$/",$fgid)) echo('是数字'); else echo('不是数字'); 方法二: if(is_numeric($f ...
- php正则大小写字母,php 常见email,url,英文大小写,字母数字组合等正则表达式详解...
操作符 描述 \ 转义符 (), (?:), (?=), [] 圆括号和方括号*, +, ?, {n}, {n,}, {n,m} 限定符 ^, $, \anymetacharacter 位置和顺序 | ...
- linux正则 转义字符,正则表达式(5):转义符
在本博客中,"正则表达式"为一系列文章,如果你想要从头学习怎样在Linux中使用正则,可以参考此系列文章,直达链接如下: "正则"系列的每篇文章都建立在前文的基 ...
- EmEditor中大纲正则表达式如何匹配多位序号,如从1、到999
在知乎挂出了问题,没人理,求人不如求己,我自己终于把这个问题搞定了 要匹配诸如:1.2.3.4....999.,可以这样写: ^[1-9]([0-9]{0,2})[.].* 解释: ^:表示从行首开始 ...
最新文章
- 一个人就需要对象之js中八种创建对象方式
- Linux中kill,pkill,killall和xkill命令汇总讲解
- 验证字符串是否为汉字
- 获得WebBrowser中的图片数据
- python 特性和方法同名_Python类:方法与属性同名
- 生成jni的android.mk,Android Studio 3.5版本JNI生成SO文件详解
- Android自定义printf/printk/ALOGE函数LOG_TAG
- 思科和华为交换机常用命令对比学习
- atitit.gui界面纵向居中总结
- STM32的定时器中断与实例
- python 查找字符第一次出现位置_python 字符串第n次出现的位置 | 学步园
- color 常用色值
- myeclipse设置黑色主题
- CVTE前端开发一面
- python判断手机号运营商_如何判断手机号的运营商那?
- Cisco 3750 策略路由
- 迅捷转换器转换效果鉴赏
- TCP中的拆包及粘包
- 利用Nginx架设Http代理服务器
- [转]怎么选择笔记本电脑?笔记本电脑参数指标!笔记本电脑全攻略