Regex 正则表达式,只允许20及以上的正整数

Regex 正则表达式,只允许20及以上的正整数,regex,Regex,正在尝试一个正则表达式,该正则表达式允许从20到1000或10000的正整数。应允许0到19,并且不允许使用十进制、负数和字母 我正在尝试这个,但没有得到它 r"[+-]?(?<!\.)\b[0-9]+\b(?!\.[0-9])" r“[+-]?(?试试这样的方法: [2-9][0-9]|[1-9][0-9]{2,} 这将匹配一个大于或等于20的两位数字,或一个具有三位或更多数字的数字。根据具体的使用方式,您可能需要在模式周围放置开始(^)和结束($)锚,以禁止输入中的任何额外字符:

正在尝试一个正则表达式,该正则表达式允许从20到1000或10000的正整数。应允许0到19,并且不允许使用十进制、负数和字母

我正在尝试这个,但没有得到它

r"[+-]?(?<!\.)\b[0-9]+\b(?!\.[0-9])"

r“[+-]?(?试试这样的方法:

[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)$

“允许20-1000之间的数字”。“也允许0-19”。哈?@H2Oooooo我猜OP的意思是写“0到19不应该被允许”,因为他接着列出了“也”不应该被允许的3件事。@p.s.w.g我同意这似乎是合乎逻辑的(特别是标题),但我希望OP能澄清。我不是在指责某人打字错误/不是母语人士,而是要确保OP意识到帖子中可能有错误(这可能会改变其他人的答案,因此没有人编辑).很抱歉让大家感到困惑。我将添加更多信息,以便更清楚。感谢@p.s.w.g的帮助。非常感谢@p.s.w.g的完美。这将匹配大于1000的数字though@RyanSaxe我想OP只是暗示它应该匹配任意大的数字,但这是一个好的观点。我已经包括了这些情况的替代方案还有。@p.s.w.g非常感谢您提供的额外选项。