读书人

求大于零小于100的正整数(有且只能有

发布时间: 2012-12-18 12:43:41 作者: rapoo

求大于0小于100的正整数(有且只能有2位)的正则表达式~~~~
如题
[最优解释]

引用:
看了下你的数据,那么主要难度会在: 06 正确

这种情况下需要把实际上是个位数的单独处理,大致如下:
str.matches("0?[1-9]
[其他解释]
看了下你的数据,那么主要难度会在: 06 正确

这种情况下需要把实际上是个位数的单独处理,大致如下:
str.matches("0?[1-9]
[其他解释]
Java么?
str.matches("[1-9][0-9]?");
[其他解释]
引用:
Java么?
str.matches("[1-9][0-9]?");


但是第一位可以没有,就是说 输入 “8” 也正确,这样怎么处理
[其他解释]
1、测试过上面的正则么

2、“有且只能有2位”是啥意思

引用:
引用:

Java么?
str.matches("[1-9][0-9]?");


但是第一位可以没有,就是说 输入 “8” 也正确,这样怎么处理

[其他解释]
^[1-9][0-9]$
[其他解释]
你的题目和你的需求有问题,你实际要的是验证是否是2位数。
[其他解释]
引用:
但是第一位可以没有,就是说 输入 “8” 也正确,这样怎么处理


“第一位可以没有”,换个思路就是“第二位可以没有”。所以只输入“8”,也是符合的。

话说才注意到你题目要求是“有且只能有2位”,这个听起来应该是 >=10 且 < 100 ??

那么,如果是 1~99 用这个:
str.matches("[1-9][0-9]?");
如果是 10 ~ 99 用这个:
str.matches("[1-9][0-9]");
区别仅仅是个“?”
[其他解释]
引用:
引用:
但是第一位可以没有,就是说 输入 “8” 也正确,这样怎么处理


“第一位可以没有”,换个思路就是“第二位可以没有”。所以只输入“8”,也是符合的。

话说才注意到你题目要求是“有且只能有2位”,这个听起来应该是 >=10 且 < 100 ??

那么,如果是 1~99 用这个:
str.matches("[1-9][0-9]?");
如果是 ……


就是说:
0 错误
00 错误
06 正确
6 正确
10 正确
99 正确
100错误
[其他解释]
引用:
1、测试过上面的正则么

2、“有且只能有2位”是啥意思

引用:

引用:

Java么?
str.matches("[1-9][0-9]?");


但是第一位可以没有,就是说 输入 “8” 也正确,这样怎么处理

0 错误
00 错误
06 正确
6 正确
10 正确
99 正确
100错误
[其他解释]
引用:
^[1-9][0-9]$


这样写我之前也想过,但是 06 就不能通过了。。。

规则见楼上
[其他解释]
[1-9][0-9]");

不知道你允许:
000006 正确
000016 正确
不?
[其他解释]
[1-9][0-9]");

不知道你允许:
000006 正确
000016 正确
不?


是的,就是 06 处理起来挺麻烦的,你上面说的可以不用考虑,是限制输入位数的 只能是1位或者 2位 ,如果输入 006 就报错


[其他解释]
稍微长了点,但是能用。

^[1-9][0-9]$

读书人网 >Java相关

热点推荐