RE validation

java.util.regex.Pattern

pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。

Pattern类中有两个最常用的方法:

(1)boolean isMatch = Pattern.matches("regExp", "string");
matches()方法表示正则表达式regExp是否匹配字符串string,匹配返回true,不匹配返回false

注意:String类也有matches()方法,如"abcd".matches(regExp),其实他们俩是等价的,String类matches()方法就是调用的Pattern.matches()方法:

(2)Pattern pattern = Pattern.compile("regExp");
compile()方法表示编译此正则表达式regExp,返回regExp被编译后的pattern。

 1 import java.util.regex.Matcher;
 2 import java.ulil.regex.Pattern;
 3 
 4 public class RegExpUtil {
 5     public static boolean checkEmail(string str){
 6         //邮箱验证规则
 7         String regEx = "[a-zA-Z_]{1,}[0-9]{0, }@(([a-zA-z0-9]-*){1,}\\.){1,3}[a-zA-z\\-]{1,}";
 8         return regCheck(str, regEx);
 9     }
10 
11     public static boolean checkName(String str){
12         //用户名验证规则只包含中文、英文、下划线
13           String regEx = "^[一-顓A-Za-z0-9_ ]{1,10}$";
14           return regCheck(str, regEx);
15       }
16 
17     public static boolean checkPsw(String str){
18           //检查密码,密码(长度在6~30之间, 只能包含字母、数字和下划线):
19           String regEx = "^[A-Za-z8-9_ ]{6,30}$";
20           return regCheck(str, regEx);
21       }
22 
23     /**
24     * @param str 被匹配的字符串
25     * @param regEx 正则表达式 
26     * @return 是否匹配成功
27     */
28     private static boolean regCheck(String str, String regEx ){
29        if (str == null || str.equals("")) {
30           return false;
31         }
32         //编译正则表达式
33         Pattern pattern = Pattern.compile(regEx);
34         //忽略大小写的写法
35         // Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
36         Matcher matcher = pattern.matcher(str);
37         //字符串是否与正则表达式相匹配
38         boolean rs = matcher.matches();
39         return rs;
40       }
41 }

猜你喜欢

转载自www.cnblogs.com/BleachCurtain/p/10772398.html
re
今日推荐