我希望 Reg 表达式接受 [1-48] 范围内的值。
问问题
164 次
2 回答
4
你可以试试这个正则表达式:^0*(?:[1-9]|[1-3][0-9]|4[0-8])$
但是,如果可能,我建议使用另一种数字验证机制。正如评论中已经指出的那样,正则表达式旨在匹配字符串模式。
以下是对正则表达式的部分解释:
^
: 字符串的开头0*
: 匹配任何前导 0(?:
:对 OR 进行分组(非捕获组)[1-9]
: 匹配 1 到 9
|
: 或者[1-3][0-9]
: 匹配 10 到 39
|
: 或者4[0-8]
: 匹配 40 到 48
)
:结束对 OR 的分组$
: 字符串结束
看到它在这个 RegExr中工作。
您可能会发现一些有用的资源,以帮助您将来自己设计/测试它们:
- 正则表达式教程
- 在线正则表达式测试工具:RegExr或RegexPlanet。
于 2013-02-05T11:32:38.117 回答
0
I am not understood why you using regEx for this. You can directly say
if( x >= 1 && x <=48) {
// x will fall in range[1-48] inclusive
}
于 2013-02-05T11:57:54.060 回答