【发布时间】:2009-03-27 21:29:32
【问题描述】:
我有一个用户可以输入到数据库中的文本条目列表,我需要使用正则表达式验证这些输入,因为其中一些很复杂。其中一个字段的数字必须有空格(即 10、12、14、16...)。我的问题是,是否有一个正则表达式结构允许我只匹配偶数或奇数运行?我知道我可以提取这个值并对其进行除法检查,但如果可能的话,我希望有一个纯正则表达式解决方案。
[编辑]
我最终使用的解决方案是对 JaredPar 的改编,因为除了只需要奇数或偶数之外,我还需要限制一个范围(即 10-40 之间的所有偶数)。下面是完成的正则表达式。
^[123][02468]$
【问题讨论】:
-
您的正则表达式中的 {1} 可能完全没有必要,尽管您的正则表达式引擎可能与我的不同。
-
该正则表达式将匹配最多 48 个数字。如果您想将其限制为 40,您需要:^[123][02468]|40$
-
Chris 是对的:正则表达式中的 {1} 是纯粹的噪音,无论您使用哪种正则表达式风格。
-
谢谢,我已经调整了上面的正则表达式。
标签: regex