尝试使用允许20位及以上的正整数高达1000或10000的正则数。应允许0到19,并且不允许使用小数,负数和字母。
我正在尝试这个,但没有得到它。
r"[+-]?(?<!\.)\b[0-9]+\b(?!\.[0-9])"
[更新]不希望包含0到19之间的数字。
答案 0 :(得分:1)
尝试这样的事情:
[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)$