当前位置:  开发笔记 > 编程语言 > 正文

正则表达式仅匹配奇数或偶数

如何解决《正则表达式仅匹配奇数或偶数》经验,为你挑选了2个好方法。

我有一个用户可以输入数据库的文本条目列表,我需要使用正则表达式验证这些输入,因为其中一些是复杂的.其中一个字段必须有数字间隙(即10,12,14,16 ......).我的问题是,是否有一个Regex结构允许我只匹配偶数或奇数运行?我知道我可以把这个值拉出来并对它进行除法检查,但是如果可能的话,我希望有一个纯正的Regex解决方案.

[编辑]

最后我用这个解决方案是JaredPar的的适应,因为除了需要只是奇怪的或埃文斯我也需要通过一个范围(10-40之间,即,所有偶数)来约束.下面是Regex完成的.

^ [123] [02468] $



1> JaredPar..:

奇数

"^\d*[13579]$"

偶数

"^\d*[02468]$"

使用a和潜在的空白分隔符运行赔率

"$\s*(\d*[13579]\s*,\s*)*\d*[13579]$"

使用a和潜在的空白分隔符运行Evens

"$\s*(\d*[02468]\s*,\s*)*\d*[02468]$"



2> Varkhan..:

如果你考虑到只能查看最后一个数字,即需要偶数或奇数也可以测试偶数或奇数,正则数据集实际上并不难设计.所以奇数运行的正则表达式可以是:

"^(\s*\d*[13579]\s*,)*(\s*\d*[13579]\s*)$"

将[135]]替换为[02468]以获得偶数...

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有