正数 不能大于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]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
- ¥50 comsol温度场仿真无法模拟微米级激光光斑
- ¥15 上传图片时提交的存储类型
- ¥15 Ubuntu开机显示器只显示kernel,是没操作系统(相关搜索:显卡驱动)
- ¥15 VB.NET如何绘制倾斜的椭圆
- ¥15 arbotix没有/cmd_vel话题
- ¥15 odoo17的分包重新供应路线如何设置?可从销售订单中实时直接触发采购订单或相关单据
- ¥15 用C语言怎么判断字符串的输入是否符合设定?
- ¥15 通信专业本科生论文选这两个哪个方向好研究呀
- ¥50 我在一个购物网站的排队系统排队,这个排队到号后重新定向到目标网站进行购物,但是有技术牛通过技术方法直接跳过排队系统进入目标网址购物,有没有什么软件或者脚本可以用