金额验证 - Java中的正则表达式

时间:2014-01-31 18:18:42

标签: java expression

在java类中,我需要使用正则表达式进行数量验证,具有以下条件:

  1. 最高价格为9999.99
  2. 最低金额为1
  3. 十进制值是可选的(Paise是可选的),即9999是有效的
  4. 我编写了以下正则表达式,但对于有效和无效的输入,它总是return false

    以下是示例:

    private static final String PRICE_PATTERN = "((/d{1,4})(((//.)(/d{0,2})){0,1}))";
    
    public PriceCheck() {
        pattern = Pattern.compile(PRICE_PATTERN);
    }
    
    public boolean validate(final String username) {
        matcher = pattern.matcher(username);
        return matcher.matches();  // always return false;
    }
    

1 个答案:

答案 0 :(得分:1)

请改用此表达式:

private static final String PRICE_PATTERN = "((\\d{1,4})(((\\.)(\\d{0,2})){0,1}))";