亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

正則表達式:數值范圍

正則表達式:數值范圍

Qyouu 2019-12-04 10:41:56
如何編寫與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)$

只是針對可能存在的每一個棘手的數字范圍進行輪換。


查看完整回答
反對 回復 2019-12-04
?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

我認為正則表達式不是正確的選擇。您是否嘗試過解析值?如果必須使用正則表達式,我將匹配以\d{1,3}解析字符串,然后驗證代碼中的數字。


查看完整回答
反對 回復 2019-12-04
?
狐的傳說

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


查看完整回答
反對 回復 2019-12-04
  • 3 回答
  • 0 關注
  • 993 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號