我承认我对正则表达式一无所知。我想要做的是使用变量作为正则表达式的一部分。我希望在每个字符输入上进行验证,它只允许1和n之间的字符,n可以是1到999之间的任何数字,我该怎么做? 1,2,3,15,23,500均有效,而003,0,3t3均无效。
谢谢,R。
答案 0 :(得分:4)
我会建议以下内容,这类似于@ Doug的回答:
找到一个以1-9开头的字符串,后面跟着零,一或两位数字(0-9),仅此而已。
^[1-9][0-9]{0,2}$
如果要求改变,这也具有良好的缩放比例,例如1-9999。在这种情况下,正则表达式简单地变为:
^[1-9][0-9]{0,3}$
答案 1 :(得分:3)
应该这样做:^([1-9]|[1-9][0-9]|[1-9][0-9][0-9])$
诀窍是将问题视为一次评估一系列数字而不是一个整数。
享受!
答案 2 :(得分:0)
你确定正则表达式是最好的解决方案吗?
您可以使用int.TryParse(string,out value)
如果成功,则确保结果int在范围内......