常用的正则表达式
这篇博客是开发使用到正则表达式后所写,如有不妥之处,欢迎留言,谢谢~
正则表达式可以迅速地用极简单的方式达到字符串的复杂控制。为了避免重复造轮子,此文将用于记录常用的正则表达式。
文中所列正则表达式,均有优化之处。若您有更优的,欢迎讨论。同时,也欢迎提供其他常用正则。谢谢~~~
邮箱:
1String regex = "\\w+@\\w+\\.[a-z]+(\\.[a-z]+)?";手机号码:
1String regex = "(\\+\\d+)?1(3[0-9]|4[57]|5[0-35-9]|8[0-9]|70)\\d{8}$";ip 地址:(粗略匹配,有待优化)
1String regex = "[1-9](\\d{1,2})?\\.(0|([1-9](\\d{1,2})?))\\.){2}(0|([1-9](\\d{1,2})?))";身份证号码:
1String regex = "[1-9]\\d{13,16}[a-zA-Z0-9]{1}";固定电话号码:
1String regex = "(\\+\\d+)?(\\d{3,4}\\-?)?\\d{7,8}$";中国邮编
1String regex = "[1-9]\\d{5}";
在 Java 中,使用正则进行匹配,有两种常用方法:
第一种:
123456Pattern p = Pattern.compile("正则表达式");Matcher m = p.matcher("需要匹配的字符(串)");boolean b = m.matches();// 也可直接写成链式boolean b = Pattern.compile("正则表达式").matcher("需要匹配的字符(串)").matches();第二种:
1boolean b = Pattern.matches("正则表达式", "需要匹配的字符(串)");
作者简介:
刘广明(@cnLGMing),一步一步往上爬。
文章若有不对之处,欢迎指正,谢谢~
版权声明:原创作品,转载时请务必注明原始出处。