[英]c# regular expression to only allow numbers between 1 and n
我承認我對正則表達式一無所知。 我想做的是將變量用作正則表達式的一部分。 我希望在每個字符輸入上進行驗證,並且只允許輸入1到n之間的字符,n可以是1到999之間的任何數字,我該怎么做? 1,2,3,15,23,500均有效,而003,0,3t3均無效。
謝謝,R。
我建議改為以下內容,類似於@Doug的答案:
查找以1-9開頭,后跟零,一或兩位數字(0-9)等的字符串。
^[1-9][0-9]{0,2}$
如果需求發生變化(例如1-9999),這也具有很好的伸縮性。 在這種情況下,正則表達式將變成:
^[1-9][0-9]{0,3}$
這應該做到這一點: ^([1-9]|[1-9][0-9]|[1-9][0-9][0-9])$
訣竅是將問題視為一次評估一個數字而不是一個整數的一系列數字。
請享用!
您確定正則表達式是此處的最佳解決方案嗎?
您可以使用int.TryParse(string,out value)
如果成功,則確保結果int在范圍內...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.