基本正则表达式
1.1 正则表达式简介
正则表达式就是使用一系列预定义的特殊字符来描述一个字符串的格式规则,然后使用该格式规则匹配某个字符串是否符合格式要求。
特殊字符所代表的含义:
".": 表示任意的一个字符;
\d:表示任意一个数字
\w:表示任意一个单词字符(只能是 数字,字母,下划线)
\s:表示任意一个空白字符(\t \r \n \f \x0B)
\D:表示任意一个非数字字符
\W:表示任意一个非单词字符
\S:表示任意一个非空白字符
[abc]:表示该字符只能是a或者b或者c
[123]:表示该字符只能是1或者2或者3
[0-9]:表示可以使用0-9的任意一个数字
"+":表示内容可以连续出现至少1次以上
"*":表示内容出现0-若干次
"?":表示内容出现0-1次
{n}:表示内容必须出现n次
{n,m}:表示内容出现n-m次
{n,}:表示内容出现至少n次
() : 分组,将内容看做一个整体
1.2 String正则相关API
matches()方法
matches()方法的参数要求我们传入一个用字符串描述的正则表达式,然后使用该正则表达式描述的字符串格式规则来匹配当前字符串,若满足那么该方法返回true。否则返回false。
代码演示:
String reg = "[0-9a-zA-Z_]+@[0-9A-Za-z]+(//.[a-zA-Z]+)+";
String email = "kdhhdh@kdj.com";
System.out.println(email.matches(reg)); //true
split()方法
String[] split(String regex): 根据给定正则表达式的匹配拆分此字符串。
代码演示:
String str = "thinking,in,java";
String[] strs = str.split(",");
System.out.println(Arrays.toString(strs));
replaceAll方法
String replaceAll(String regex,String replacement):参数要求传入一个用字符串描述的正则表达式和一个需要替换的字符串,然后使用该正则表达式描述的字符串规则来匹配当前字符串,并将满足的部分替换为需要替换的这个字符串。
代码演示:
String str = "aaa3434ggg";
str = str.replaceAll("\\d+", "数字");
System.out.println(str); //aaa数字ggg