您的位置:首页 > 编程语言

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

2016-05-18 17:01 435 查看
正则表达式的语法可参考以下网站,在此不再赘述。以下将写一个小实例供以后参考。

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}$";
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  正则表达式