当前位置: 首页 > 后端技术 > Java

java正则工具类

时间:2023-04-01 15:40:12 Java

packagecom.toutou;importjava.util.regex.*;/***@authortoutou*@dateby2016/05*/publicclassTouTouRegex{/***提取注释*/publicstaticStringcheckNodes(Stringline){//Stringpattern="/\\*((?!\\*/).|[\\r\\n])*?\\*/|[\\t]*//.*\n";字符串模式="/\\*([^*]|(\\*+([^*/])))*\\*+/|[\\t]*//.*";//创建Pattern对象Patternr=Pattern.compile(pattern);//现在创建匹配器对象Matcherm=r.matcher(line);if(m.find()){//返回行一组匹配的子串returnm.group();}else{返回“”;}}/***验证Email**@paramemail邮箱地址,格式:zhang@gmail.com,zhang@xxx。com.cn,xxx代表邮箱服务商*@return验证成功返回true,验证失败返回false*/publicstaticbooleancheckEmail(Stringemail){Stringregex="\\w+@\\w+\\.[a-z]+(\\.[a-z]+)?";返回模式。匹配(正则表达式,电子邮件);}/***验证身份证号**@paramidCard居民身份证号有15位或18位,最后一位可以是数字也可以是字母*@return验证成功返回true,验证失败返回false*/publicstaticbooleancheckIdCard(StringidCard){Stringregex="[1-9]\\d{13,16}[a-zA-Z0-9]{1}";返回Pattern.matches(regex,idCard);}/***验证手机号码(支持国际格式,+86135xxxx...(中国大陆),+00852137xxxx...(中国香港))**@parammobile中国移动、中国联通的号码段,和电信运营商*中国移动号码段:134(0-8)、135、136、137、138、139、147(预计用于TD上网卡)*、150、151、152、157(TDdedicated),158,159,187(notenabled),188(TDdedicated)*联通号码范围:130,131,132,155,156(世界风专用),185(notenabled),186(3g)*电信号码范围:133、153、180(未启用)、189*@return验证成功返回true,验证失败返回false*/publicstaticbooleancheckMobile(Stringmobile){Stringregex="(\\+\\d+)?1[3458]\\d{9}$";返回模式.matches(regex,mobile);}/***验证固定电话号码**@paramphone电话号码,格式:国家(地区)电话代码+地区代码(城市代码)+电话号码,如:+8602085588447*国家(地区)代码:用于识别电话号码所在国家(地区)的标准国家(地区)代码。由0到9的一位或多位数字组成,*位后面是空格分隔的国家(地区)代码。*地区代码(城市代码):这可能包含从0到9的一位或多位数字,地区或城市代码括在括号中--*对于不使用地区或城市代码的国家/地区,请省略此部分。*电话号码:这包含从0到9的一个或多个数字*@return如果验证成功,则返回true,如果验证失败,则返回false*/publicstaticbooleancheckPhone(Stringphone){Stringregex="(\\+\\d+)?(\\d{3,4}\\-?)?\\d{7,8}$";返回模式匹配(正则表达式,电话);}/***验证整数(正整数和负整数)**@paramdigit0-9之间的一个或多个整数*@return验证成功返回true,验证失败返回false*/publicstaticbooleancheckDigit(Stringdigit){Stringregex="\\-?[1-9]\\d+";返回模式匹配(正则表达式,数字);}/***验证整数和浮点数(正负整数和正负浮点数)**@paramdecimals一位或多位0-9之间的浮点数,如:1.23,233.30*@return校验成功返回true,校验失败返回false*/publicstaticbooleancheckDecimals(Stringdecimals){Stringregex="\\-?[1-9]\\d+(\\.\\d+)?";返回模式匹配(正则表达式,小数);}/***验证空白字符**@paramblankSpace空白字符,包括:空格、\t、\n、\r、\f、\x0B*@return验证成功返回true,验证失败返回false*/public秒taticbooleancheckBlankSpace(StringblankSpace){Stringregex="\\s+";返回Pattern.matches(regex,blankSpace);}/***验证中文**@paramChinese汉字*@return验证成功返回true,验证失败返回false*/publicstaticbooleancheckChinese(Stringchinese){Stringregex="^[\u4E00-\u9FA5]+$";returnPattern.matches(regex,中文);}/***验证日期(年月日)**@param生日日期,格式:19989-09-03,或1989.09.03*@return验证成功返回true,验证失败返回false*/publicstaticbooleancheckBirthday(Stringbirthday){Stringregex="[1-9]{4}([-./])\\d{1,2}\\1\\d{1,2}";返回模式匹配(正则表达式,生日);}/***验证URL地址**@paramurl格式:http://blog.csdn.net:80/xyang81/article/details/7705960?或者http://www.csdn.net:80*@return验证成功返回true,验证失败返回false*/publicstaticbooleancheckURL(Stringurl){Stringregex="(https?://(w{3}\\.)?)?\\w+\\.\\w+(\\.[a-zA-Z]+)*(:\\d{1,5})?(/\\w*)*(\\??(.+=.*)?(&.+=.*)?)?";返回模式匹配(正则表达式,网址);}/****获取URL的一级域名*http://detail.tmall.com/item.htm?spm=a230r.1.10.44.1xpDSH&id=15453106243&_u=f4ve1uq1092->>tmall.com**@paramurl*@return*/privatestaticPatternp=Pattern.compile("(?<=http://|\\.)[^.]*?\\.(com|cn|net|org|biz|info|cc|tv)",Pattern.CASE_INSENSITIVE);publicstaticStringgetDomain(Stringurl){//获取完整域名//Patternp=Pattern.compile("[^//]*?\\.(com|cn|net|org|biz|info|cc|tv)",Pattern.CASE_INSENSITIVE);Matchermatcher=p.matcher(url);匹配器.查找();返回matcher.group();}/***匹配中国邮编**@parampostcode邮编*@return验证成功返回true,验证失败返回false*/publicstaticbooleancheckPostcode(Stringpostcode){Stringregex="[1-9]\\d{5}";returnPattern.matches(regex,postcode);}/***匹配IP地址(简单匹配,格式如:192.168.1.1,127.0.0.1,不匹配IP段大小)**@paramipAddressIPv4标准地址*@return验证成功返回true,验证失败返回false*/publicstaticbooleancheckIpAddress(StringipAddress){Stringregex="[1-9](\\d{1,2})?\\.(0|([1-9](\\d{1,2})?))\\.(0|([1-9](\\d{1,2})?))\\.(0|([1-9](\\d{1,2})?))";returnPattern.matches(regex,ipAddress);}//是否包含numberpublicstaticbooleancheckContainsDot(Stringusername){returnusername.contains(".");}//是否包含连字符publicstaticbooleancheckContainsHyphen(Stringusername){returnusername.contains("-");}//密码长度6-20publicstaticbooleancheckUserPasswordLength(Stringpwd){returnpwd.length()>5&&pwd.length()<21;}publicstaticbooleanisValidUserName(Stringun){Stringregex="([A-Z0-9a-z-]|[\\u4e00-\\u9fa5])+";returnPattern.matches(regex,un);}}