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

Posted 烟花易冷心易碎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用的正则表达表达式以及简单用法相关的知识,希望对你有一定的参考价值。

 
 这是一个平时最常用的正则表达式,出来这些,我们还有很多,这里我就不一一列举了,关于字符的含义,详见
 
 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?)";

以上是关于常用的正则表达表达式以及简单用法的主要内容,如果未能解决你的问题,请参考以下文章

UltraEdit中使用正则表达式-简单用法

C#正则表达式编程:Regex类用法

C语言正则表达式

深入理解正则表达式环视的概念与用法

java replaceAll 正则表达式的用法

我常用的正则