正数 不能大于100 小数点前只能有两位 可以有小数 也可不输入小数 小数最多为两位?
^[+]?(([1-9]\d{1,2}[.]?)|(0.))(\d{0,2})?$ 这个不对 哎.
求java正则一枚
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- wks1986 2011-08-06 15:35关注
嗯,你那样就允许大于100的三位数了
试试这个:
我这里允许小数以0结尾,表示“近似值”的时候需要。如果不希望这样,改改也行。[code="java"]package regexptest;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class RegexpTest2 {
public static void main(String[] args) { Pattern p = Pattern.compile("^[+]?(([1-9][0-9]?|0)(\\.[0-9]{1,2})?|100(\\.0{1,2})?)$"); for (String txt : new String[] { "3.14", "31.41", "+3.14", "3.1", "42", "3", "-3.14", "100", "100.00", "100.01", "300", "3.141", "03.14"}) { Matcher m = p.matcher(txt); if (m.find()) { String result = m.group(0); System.out.println(result); } else { System.out.println(txt + " does not match"); } } }
}
[/code]
输出:
[quote]
3.14
31.41
+3.14
3.1
42
3
-3.14 does not match
100
100.00
100.01 does not match
300 does not match
3.141 does not match
03.14 does not match
[/quote]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥30 c#打开word开启修订并实时显示批注
- ¥15 如何解决ldsc的这条报错/index error
- ¥15 VS2022+WDK驱动开发环境
- ¥30 关于#java#的问题,请各位专家解答!
- ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
- ¥20 pcf8563时钟芯片不启振
- ¥20 pip2.40更新pip2.43时报错
- ¥15 换yum源但仍然用不了httpd
- ¥50 C# 使用DEVMOD设置打印机首选项
- ¥15 麒麟V10 arm安装gdal