尝试允许从20以上到1000或10000的正整数的正则表达式。应该允许使用0到19,也不允许使用小数,负数和字母允许。正则表达式,只允许20以上的正整数
我正在尝试,但没有得到它。
r"[+-]?(?<!\.)\b[0-9]+\b(?!\.[0-9])"
[更新]不想包括从0到19
尝试允许从20以上到1000或10000的正整数的正则表达式。应该允许使用0到19,也不允许使用小数,负数和字母允许。正则表达式,只允许20以上的正整数
我正在尝试,但没有得到它。
r"[+-]?(?<!\.)\b[0-9]+\b(?!\.[0-9])"
[更新]不想包括从0到19
尝试是这样的:
[2-9][0-9]|[1-9][0-9]{2,}
这将匹配大于等于一个双位数字到20,或三位或更多位的数字。这依赖于你如何使用它,你可能需要将启动(^
)和结束($
)锚周围的模式在输入禁止任何额外的字符:
^([2-9][0-9]|[1-9][0-9]{2,})$
如果你想限制这种为数字高达1000:
^([2-9][0-9]|[1-9][0-9]{2}|1000)$
如果你想这个限制人数达到10000:
^([2-9][0-9]|[1-9][0-9]{2,3}|10000)$
Perfect @ p.s.w.g非常感谢。 – Matthew
这将匹配大于1000的数字虽然 –
@RyanSaxe我认为OP只是意味着它应该匹配任意大的数字,但这是一个很好的观点。我也包括这些情况的替代方案。 –
为什么这个正则表达式? – anubhava
“允许20 - 1000的数字”。 “也允许0-19”。咦? – h2ooooooo
@ h2ooooooo我猜OP的意思是写“0至19应该*不允许”,因为他然后继续列出3个“也”不应该被允许的事情。 –