正则表达式
限定符:
* :零次或多次
+ :一次或多次
? :零次或一次
{n} :匹配n次
{n,} :至少匹配n次
{n,m} :至少匹配n次且最多匹配m次
字符串相关:
[xyz] :匹配所包含任意字符
[^XYZ] : 匹配未包含的任意字符
[a-z] :匹配指定范围内的任意字符
[^a-z] :匹配任何不在指定范围内的任意字符
\d :匹配一个数字字符
\D :匹配一个非数字字符
\w :匹配包含下划线的任意单词字符。等价于[A-Z0-9a-z_]
\W : 匹配任何非单词字符。等价于[^a-z0-9A-Z_]
\s : 匹配任何空白字符
\S :匹配任何非空白字符
定位符:
^ : 匹配输入字符串的开始位置
$ : 匹配输入字符串的结束位置
\b : 匹配一个单词边界,也就是单词和空格间的位置
\B :匹配非单词边界
转义符:\
选择匹配符:(|)
常用正则表达式
public class RegularUtils {
/**
* QQ号
*/
public static final String QQ_PATTERN = "^[1-9][0-9]{5,10}$";
/**
* 数字校验
*/
public static final String NUMBER_PATTERN = "^[0-9]*$";
/**
* 歌词
*/
public static final String MUSIC_LYRIC = "^[1-9][0-9]{5,10}$";
/**
* 字母下划线数字
*/
public static final String HTML_PATTERN = "[A-Za-z0-9-\\-]+";
/**
* 去除转义符号
*/
public static final String REPLACE_BANK = "\\s*|\t|\r|\n";
/**
* 匹配getter方法的正则表达式
*/
public static final String GET_PATTERN = "get(\\p{javaUpperCase}\\w*)";
/**
* 匹配setter方法的正则表达式
*/
public static final String SET_PATTERN = "set(\\p{javaUpperCase}\\w*)";
/**
* 汉字 或:[\u4e00-\u9fa5]
*/
public static final String CHINESE_PATTERN = "^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$";
/**
* 国内手机号码
*/
public static final String MOBILE_PHONE_NUMBER_PATTERN = "^0{0,1}(13[0-9]|15[0-9]|14[0-9]|18[0-9])[0-9]{8}$";
/**
* 电话号码的函数(包括验证国内区号,国际区号,分机号)
*/
public static final String TEL_PATTERN = "^(([0\\+]\\d{2,3}-)?(0\\d{2,3})-)?(\\d{7,8})(-(\\d{3,}))?$";
/**
* 邮箱格式
*/
public static final String EMAIL_PATTERN = "^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$";
/**
* 整数
*/
public static final String INTEGE_PATTERN = "^-?[1-9]\\d*$/";
/**
* 正整数
*/
public static final String INTEGE1_PATTERN = "^[1-9]\\d*$/";
/**
* 负整数
*/
public static final String INTEGE2_PATTERN = "^-[1-9]\\d*$/";
/**
* 数字(包含0)
*/
public static final String NUM_PATTERN = "^([+-]?)\\d*\\.?\\d+$/";
/**
* 颜色值匹配
*/
public static final String COLOR_PATTERN = "^[a-fA-F0-9]{6}$";
/**
* url匹配
*/
public static final String URL_PATTERN = "^http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-.\\/?%&=]*)?$";
/**
* 邮政编码
*/
public static final String ZIPCODE_PATTERN = "^\\d{6}$";
/**
* IPV4地址
*/
public static final String IP4_PATTERN = "^(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)$";
/**
* 图片后缀
*/
public static final String PICTURE_PATTERN = "(.*)\\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga|JPG|BMP|GIF|ICO|PCX|JPEG|TIF|PNG|RAW|TGA)$";
/**
* 音频后缀
*/
public static final String AUDIO_PATTERN = "(.*)\\.(mp3|wma|mid|midi|wav|vqf|MP3|WMA|MID|MIDI|WAV|VQF)$";
/**
* 视频后缀
*/
public static final String VIDEO_PATTERN = "(.*)\\.(rm|3gp|mp4|rmvb|avi|wmv|flv|vob|exe|mkv|swf|RM|3GP|MP4|RMVB|AVI|WMV|FLV|VOB|EXE|MKV|SWF)$";
/**
* 压缩文件后缀
*/
public static final String RAR_PATTERN = "(.*)\\.(rar|zip|7zip|tgz|RAR|ZIP|7ZIP|TGZ)$";
/**
* 用户注册:匹配由数字、26个英文字母或者下划线组成的字符串
*/
public static final String USERNAME_PATTERN = "^[A-Za-z]\\w{5,}$";
/**
* 字母数字组合
*/
public static final String ALLSTRING_PATTERN = "^\\w+$";
/**
* 纯字母
*/
public static final String LETTER_PATTERN = "^[A-Za-z]+$";
/**
* 纯大写字母
*/
public static final String LETTER_U_PATTERN = "^[A-Z]+$";
/**
* 纯小写字母
*/
public static final String LETTER_L_PATTERN = "^[a-z]+$";
/**
* 第二代身份证号码匹配
*/
public static final String IDCARD_PATTERN = "^[1-9]([0-9]{14}|[0-9]{17})$";
/**
* 正则校验
*
* @param str 字符串
* @param regular 正则表达式
* @return 结果 true: 正确 false:错误
*/
public static boolean regularCheck(String str, String regular) {
if (str == null || "".equals(str)) {
return false;
}
if (!str.matches(regular)) {
return false;
}
return true;
}
/**
* 测试
*/
public static void main(String[] args) {
String str = "";
System.out.println(regularCheck(str, MOBILE_PHONE_NUMBER_PATTERN));
}
}
打赏
当前共有 0 条评论