正则表达式学习与实例代码

来源:互联网 发布:cdr软件手机版 编辑:程序博客网 时间:2024/06/05 09:11

正则表达式的语法可参考以下网站,在此不再赘述。以下将写一个小实例供以后参考。
http://www.runoob.com/regexp/regexp-tutorial.html

/**     *      * @param str     *            :字符串     * @param afterNum     *            :限制小数点后尾数,只能输入afterNum字符     * @return 是否可以输入     */    public static boolean IsCanInput(String str, int afterNum) {        String reg = "^(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){0," + afterNum + "})?$";        java.util.regex.Pattern pattern = java.util.regex.Pattern.compile(reg);        java.util.regex.Matcher match = pattern.matcher(str);        if(match.matches() == false){            return false;        }else{            return true;        }    }

一般用于EditText输入内容的限制,EditText调用addTextChangedListener方法添加一个TextWatcher对象,在afterTextChanged调用IsCanInput方法,判断是否可以输入,如果返回false,将值设置成修改前的数值。

只能输入n位的数字

String reg = "^\\d{n}$";

只能输入数字

String reg = "^[0-9]*$";

判断浮点数(beforNum小数点前面长度,afterNum小数点后面长度)

"^(([0]{0,1})|([1-9]{1}[0-9]{0," + (beforNum - 1) + "}))?(\\.(\\d){0," + afterNum + "})?$"

只能输入n位的数字

String reg = "^\\d{n}$";
0 0