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"
java校验商品价格的正则表达式
最新推荐文章于 2021-03-16 15:12:29 发布