如何編寫與0或000到180的數字范圍匹配的正則表達式?
3 回答

慕斯709654
TA貢獻1840條經驗 獲得超5個贊
最簡單的方法是將字符串解析為數字,然后尋找該數字是否在適當的范圍內。
要使用純正則表達式執行此操作,您需要識別模式并將其寫出:
^(0?[0-9]{1,2}|1[0-7][0-9]|180)$
這有三種選擇:一種用于一位數字和兩位數字(允許前導零),其中每個數字可以是0到9之間的任何數字。另一種用于指定三位數字中的每個數字允許的數字范圍數。在這種情況下,這意味著第一個數字需要為1,第二個數字在0到7之間,最后一個可以為任意數字。第三種選擇是針對數字180,它與其他位置的模式不太匹配。
更直接的方法可能是
^(0{0,2}[0-9]|0?[1-9][0-9]|1[0-7][0-9]|180)$
只是針對可能存在的每一個棘手的數字范圍進行輪換。

狐的傳說
TA貢獻1804條經驗 獲得超3個贊
我的兩分錢:
發布此問題答案的任何人都應至少使用以下輸入來測試其正則表達式:
應該匹配:0、00、000、5、05、005、95、095、180
不應該匹配:0000、0095、181、190
我認為約翰尼斯·羅素(JohannesR?ssel)所寫的東西與您將獲得的一樣好:
^(0?[0-9]{1,2}|1[0-7][0-9]|180)$
- 3 回答
- 0 關注
- 993 瀏覽
添加回答
舉報
0/150
提交
取消