java正则表达式
Posted 秋夜雨巷
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java正则表达式相关的知识,希望对你有一定的参考价值。
String类三个和正则表达式相关的方法
public boolean matches(String regex) //判断字符串是否匹配给定的规则
举例:校验qq号码. 1: 要求必须是5-15位数字 2: 0不能开头 代码演示: String qq = "604154942"; String regex = "[1-9][0-9]{4,14}"; boolean flag2 = qq.matches(regex); 举例:校验手机号码 1:要求为11位数字 2:第1位为1,第2位为3、4、5、7、8中的一个,后面9位为0到9之间的任意数字。 代码演示: String phone = "18800022116"; String regex = "1[34578][0-9]{9}"; boolean flag = phone.matches(regex);
public String[] split(String regex) //根据给定正则表达式的匹配规则,拆分此字符串
举例:分割出字符串中的的数字 代码演示: String s = "18-22-40-65"; String regex = "-"; String[] result = s.split(regex); 代码演示: String s = "18 22 40 65"; String regex = " "; String[] result = s.split(regex);
public String replaceAll(String regex,String replacement) //将符合规则的字符串内容,全部替换为新字符串
举例:把文字中的数字替换成* 代码演示: String s = "Hello12345World6789012"; String regex = "[0-9]"; String result = s.replaceAll(regex, "*");
查找符合正则表达式的字符
Pattern编译正则表达式,Matcher类为封装结果
String str="匹配小数2.1,整数33,以及字母和数字的组合fsd535,但是.也可以匹配9点8,因为.代表任意字符?"; String s = "\\\\d+.\\\\d+|\\\\w+"; //.代表任意字符,匹配项为 数字[1,]任意字符[1]数字[1,]或者字母和数字的组合[1,] Pattern pattern= Pattern.compile(s); Matcher ma=pattern.matcher(str); while(ma.find()){ System.out.println(ma.group()); }
输出
小数正则表达式
([1-9]\\d*\\.?\\d*)|(0\\.\\d*[1-9])
邮箱
[a-zA-Z_0-9]+@[a-zA-Z_0-9]+(\\\\.[a-zA-Z_0-9]+)+
\\\\w+@\\\\w+(\\\\.\\\\w+)+
中文
[\\u4e00-\\u9fa5]+
以上是关于java正则表达式的主要内容,如果未能解决你的问题,请参考以下文章