嘗試允許從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個「也」不應該被允許的事情。 –