求一个正则表达式, 大于0 的非负数 或非负小数,小数点后保留4位 急

哟小菇凉 2011-11-29 12:20:13
求一个正则表达式, 大于0 的非负数 或非负小数,小数点后保留4位 急
...全文
324 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
哟小菇凉 2011-11-29
  • 打赏
  • 举报
回复
还真是哦 谢谢 阿宝 哈哈
qybao 2011-11-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 a_ausser 的回复:]
Java code

(([1-9][\d]*)(\.[\d]{1,4})?)|(0\.[\d]{1,4})
还有这种方法
[/Quote]
你这种方法没法检验大于0,LZ用0.00测试一下就知道了
(0\.[\d]{1,4}),这个并没有约束小数掉不全是0

String regex = "(0*[.]((?!0)\\d|(?!00)\\d{2}|(?!000)\\d{3}|(?!0000)\\d{4}))|(\\d*[1-9]\\d*([.]\\d{1,4})?)";
String[] data = {"0", "0000", "00.0000", "0.1000", "0.0100", "0.0010", "0.0001",
"0.05", "1.0000", "10.0000", "10.0100", "10.25", "100", "123456"};
for (String s : data) {
System.out.printf("%s:%b\n", s, s.matches(regex));
}
哟小菇凉 2011-11-29
  • 打赏
  • 举报
回复
(([1-9][\d]*)(\.[\d]{1,4})?)|(0\.[\d]{1,4})
还有这种方法
哟小菇凉 2011-11-29
  • 打赏
  • 举报
回复
String regex = "(0*[.]((?!0)\\d|(?!00)\\d{2}|(?!000)\\d{3}|(?!0000)\\d{4}))|(\\d*[1-9]\\d*([.]\\d{1,4})?)";
String[] data = {"0", "0000", "00.0000", "0.1000", "0.0100", "0.0010", "0.0001",
"0.05", "1.0000", "10.0000", "10.0100", "10.25", "100", "123456"};
for (String s : data) {
System.out.printf("%s:%b\n", s, s.matches(regex));
}
此问题 已经解决 谢谢 大虾们 哈哈
  • 打赏
  • 举报
回复

<script>
if(/^([\d]+|[\d]+.[\d]{4})$/.test('333.33333'))
{
document.write('ok');
}
else
{
document.write('no ok');
}
</script>
yodlove 2011-11-29
  • 打赏
  • 举报
回复
^\d+\.\d{4}$一定是保留4位
^\d+[\.\d{4}]?$可以为整数

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧