常用的正则表达表达式以及简单用法
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);
//把需要匹配的字符给模板匹配,获得匹配器
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}任意九个个数
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地址
*/
* 验证手机号(精确)
* <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?)";
以上是关于常用的正则表达表达式以及简单用法的主要内容,如果未能解决你的问题,请参考以下文章