首页 > 代码库 > 常用的正则表达表达式以及简单用法

常用的正则表达表达式以及简单用法

 
 这是一个平时最常用的正则表达式,出来这些,我们还有很多,这里我就不一一列举了,关于字符的含义,详见
 
 http://www.cnblogs.com/lizhanqi/p/5906136.html
 
//定义需要匹配的正则表达式的规则(下边是一个手机号码的匹配是从下边的常用正则表达中抄过来的)
String REGEX_MOBILE_SIMPLE = "^[1]\\d{10}$";//简单的 
//复杂
 String REGEX_MOBILE_SIMPLE = "^1[3|5|8|7]\\d{9}$";//^代表開始,1是必须1开头,[3|5|8|7] 必须第二位是3或者5,8,7之间的一个,\\d{9}任意九个个数
 
 //把正则表达式的规则编译成模板
 Pattern pattern = Pattern.compile(REGEX_MOBILE_SIMPLE);
 //把需要匹配的字符给模板匹配,获得匹配器
 Matcher matcher = pattern.matcher(trim);
// 通过匹配器查找是否有该字符,不可重复调用重复调用
//重点解释:(如果该字符符合规则,第一次.find()返回的是true,第二次或者以后就是fasle)
matcher.find();
下边的文件是几个常用的正则表达
    /**
     * 验证手机号(简单)
     */
    private static final String REGEX_MOBILE_SIMPLE = "^[1]\\d{10}$";
//复杂规则
final String REGEX_MOBILE_SIMPLE = "^1[3|5|8|7]\\d{9}$";//^代表開始,1是必须1开头,[3|5|8|7] 必须第二位是3或者5,8,7之间的一个,\d{9}任意九个个数
    /**
     * 验证手机号(精确)
     * <p>
     * <p>移动:134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、178、182、183、184、187、188
     * <p>联通:130、131、132、145、155、156、175、176、185、186
     * <p>电信:133、153、173、177、180、181、189
     * <p>全球星:1349
     * <p>虚拟运营商:170
     */
    private static final String REGEX_MOBILE_EXACT = "^((13[0-9])|(14[5,7])|(15[0-3,5-8])|(17[0,3,5-8])|(18[0-9])|(147))\\d{8}$";
    /**
     * 验证座机号,正确格式:xxxxx-xxxxxxxxxxxxx/
     */
    private static final String REGEX_TEL = "^0\\d{2,3}[- ]?\\d{7,8}";
    /**
     * 验证邮箱
     */
    private static final String REGEX_EMAIL = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$";
    /**
     * 验证url
     */
    private static final String REGEX_URL = "http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w-.%&=]*)?";
    /**
     * 验证汉字
     */
    private static final String REGEX_CHZ = "^[\\u4e00-\\u9fa5]+$";
    /**
     * 验证用户名,取值范围为a-z,A-Z,0-9,"_",汉字,不能以"_"结尾,用户名必须是6-20位
     */
    private static final String REGEX_USERNAME = "^[\\w\\u4e00-\\u9fa5]{6,20}(?<!_)$";
    /**
     * 验证IP地址
     */
    private static final String REGEX_IP = "((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)";

常用的正则表达表达式以及简单用法