Java正则表达式简介

时间:2021-11-09 19:47:08
/* Java正则表达式
1.正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它用以描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

2.用途:
1字符串匹配(字符匹配)
2字符串查找
3字符串替换
4字符串分割

3.java中处理正则表达式的类:

1-java.lang.String
2-java.util.regex.Pattern:模式类:字符串要被匹配的这么一个模式,该模式本身已经被编译过,使用的话效率要高很多。
3-java.util.regex.Matcher:匹配类:这个模式匹配某个字符串所产生的结果,这个结果可能会有很多个。

常用正则表达式
规则 正则表达式语法
一个或多个汉字 ^[\u0391-\uFFE5]+$
邮政编码 ^[1-9]\d{5}$
QQ号码 ^[1-9]\d{4,10}$
邮箱 ^[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\.){1,3}[a-zA-z\-]{1,}$
用户名(字母开头 + 数字/字母/下划线)^[A-Za-z][A-Za-z1-9_-]+$
手机号码 ^1[3|4|5|8][0-9]\d{8}$
URL ^((http|https)://)?([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
18位身份证号 ^(\d{6})(18|19|20)?(\d{2})([01]\d)([0123]\d)(\d{3})(\d|X|x)?$
*/
package lz;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test1 {
public static void main(String[] args) {
//matches()判断字符串是否匹配某个表达式,“.”表示任何一个字符
p("abc".matches("..."));
//将字符串“a2389a”中的数字用*替换,\d表示“0--9”数字
p("a2389a".replaceAll("\\d","*"));
//进项匹配,并将匹配结果在在Matcher对象中
Pattern p = Pattern.compile("[a-z]{3}");
Matcher m = p.matcher("abc");
p(m.matches());
//上面三行可以写为:
p("abc".matches("[a-z]"));
}
public static void p(Object o) {
System.out.println(o);
}
}