正则表达式,判断大小

一气化三清 发布于 2016/06/07 17:19
阅读 584
收藏 0

目前做一套规则校验库,想用正则表达式进行校验,但是我对正则表达式不熟,

我想实现>=10000   ,表达式,^[1-9]\\d{4,}$

7500-1000  ,这个^[7-9][5-9]\\d{2}$

5000-7500,这么写 ^[5-6]\\d{3}$|^[7][1-4]\\d{2}$ 

对否

加载中
1
Feng_Yu
Feng_Yu
正则表达式不适合做逻辑判断,会让正则变得极为复杂难懂。你应该把正则作为粗过滤来用,值范围放在后面一步来判断
Feng_Yu
Feng_Yu
回复 @一气化三清 : 正则表达式不宜写的太复杂,否则没人能维护。所以不要把过多的逻辑判断加进去。逻辑判断不是正则表达式的强项,仅用于pattern过滤就够了。至于是否合法,过滤掉明显不合法的输入以后再用程序判断一下就行了,不但代码清晰,还容易理解。
一气化三清
一气化三清
说的有理,确实很难看懂
永远在一起
同意,这才是正确的处理方式,正则很强大,但是真的不应该作为这种校验进行操作。
0
wooflo
wooflo

不对。

直接公布答案


>=10000             ^[1-9]\d{4,}$

7500-1000   ^[75-79]\d{2,}$|^[8-9]\d{3}$|10000

5000-7500   ^[5-6]\d{3}$|^[70-74]\d{2,}$|7500

去移步至 http://tool.oschina.net/regex/ 

 进行验证


一碗粥
一碗粥
[75-79]是啥意思? 你不会是想匹配75, 76, 77, 78, 79吧?
0
一气化三清
一气化三清

引用来自“wooflo”的评论

不对。

直接公布答案


>=10000             ^[1-9]\d{4,}$

7500-1000   ^[75-79]\d{2,}$|^[8-9]\d{3}$|10000

5000-7500   ^[5-6]\d{3}$|^[70-74]\d{2,}$|7500

去移步至 http://tool.oschina.net/regex/ 

 进行验证


厉害,受教了
一气化三清
一气化三清
回复 @阿信sxq : 我是自己写的,不是他这种,我想起来了。。。果然不行
阿信sxq
阿信sxq
回复 @一气化三清 : 怎么我测试就不对了呢,而且没有那么智能的的吧
一气化三清
一气化三清
回复 @阿信sxq : 我一开始也怀疑,但是测试了哈子确实是对的
阿信sxq
阿信sxq
^7[5-9]\d{2}$|^[8-9]\d{3}$|10000
一气化三清
一气化三清
^[75-79]\d{2}$|^[8-9]\d{3}$|10000 ,多了一个逗号
0
一碗粥
一碗粥
你自己的是对的, 具体是\d还是\\d要看用的是什么语言.
返回顶部
顶部