php 正则表达式 匹配1到32 如何匹配? 这样可不可以[1-32]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 正则表达式 匹配1到32 如何匹配? 这样可不可以[1-32]相关的知识,希望对你有一定的参考价值。
正则是按位解析匹配的,所以[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])$/\'; //这个就是1-32的正则啦 参考技术A 应该不行吧
就拆成两位数字呗
第一位匹配1-3 第二位匹配0-9追问
这样匹配会超出点范围 比如39也是被允许的。 就是不知道怎么做··
追答哦有道理我想简单了
其他的还真没想出来不然就那样 分成1-30然后并上31和32
^([1-2][0-9]|30|31|32)$
^([1-2][0-9]|3[0-2]|[0-9])$
以上是关于php 正则表达式 匹配1到32 如何匹配? 这样可不可以[1-32]的主要内容,如果未能解决你的问题,请参考以下文章
Js正则表达式的如何写这样一个匹配规则!1) 取指定范围的内容 2)过滤指定范围的内容