java校验商品价格的正则表达式
2016-11-12 23:52
281 查看
import java.util.regex.Matcher; import java.util.regex.Pattern; public class regextest { /* 题目:校验商品价格的正则表达式 * 目的:校验输入的商品价格:不能为(负数或001这样的数字),其他正整数或小数均为true * 正则说明:"\\d\\.\\d*|[1-9]\\d*|\\d*\\.\\d*|\\d" * \ :为转义字符 * \d :表示0-9的数字 * [1-9] : 1-9的数字 * [^0] :非零的数字 * * :0次或多次 * | :选择符,分隔不同的匹配方案 * . :表示 "." 符号 * [^-] : 非负号 * */ /** * @param price 非String类型的数据,可以通过重载 拓展校验的方法 * @return */ public static boolean checkPrice(String price){ String regex = "\\d\\.\\d*|[1-9]\\d*|\\d*\\.\\d*|\\d"; Pattern pattern = Pattern.compile(regex); //将给定的正则表达式编译到模式中。 Matcher isNum = pattern.matcher(price);//创建匹配给定输入与此模式的匹配器。 boolean matches = isNum.matches();//如果匹配成功,则可以通过 start、end 和 group 方法获取更多信息. return matches; } public static void main(String[] args) { // 测试结果: String orginal = "0"; // String orginal = "0.0"; true // String orginal = "1"; true // String orginal = "0.1"; true // String orginal = "1.01"; true // String orginal = "123"; true // String orginal = "123.001"; true // String orginal = "-1"; false // String orginal = "-123.0"; false // String orginal = "01"; false // String orginal = "001"; false boolean matches = checkPrice(orginal); System.out.println(matches);//0 : true } }
相关文章推荐
- 【总结】java regex 正则表达式 提取数字和去除数字,过滤数字,提取价格
- Java中使用正则表达式校验字符串
- JAVA中校验密码的正则表达式
- 【java】 JAVA中正则表达式判断字符串在为空的情况才校验的写法
- Java正则表达式校验邮箱和手机号
- Java基础知识强化70:正则表达式之引入案例(QQ号码校验)
- Java中使用正则表达式校验字符串
- java正则表达式校验移动电话、固话、邮编的校验
- java正则表达式校验数字格式
- Java正则表达式校验邮箱和手机号
- 利用Java正则表达式校验邮箱与手机号
- java 正则表达式 通用校验
- Java源码-使用正则表达式校验数据有效性
- java正则表达式 校验邮箱 身份证号 手机号等
- Java正则表达式校验邮箱和手机号
- 校验手机号码的正则表达式写法 (java实现)
- java正则表达式 校验邮件, ip排序, 字符串处理实例
- Java 正则表达式数据校验
- 密码校验正则表达式(java 环境)
- Java正则表达式校验邮箱、手机号和身份证等