概念
正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。
正则表达式常用语法:
[] 代表一位
[a-z]{5} 限制必须是5位并且每一位的范围是a到z之间
[a-zA-Z0-9]{5,11} 限制必须是5位到11位并且每一位的范围是a到z之间或A到Z之间或0到9之间
[a-z]{5,} 限制必须是5位以上并且每一位的范围是a到z之间
[a-z]{0,5} 限制必须是5位以下并且每一位的范围是a到z之间
[\\d]等于[0-9]
[\\w]等于[a-zA-Z0-9]
如果一个位的取值只有一个可以省略括号,但这个值不能是 .,因为.代表任意字符
qq邮箱:
[1-9][09]{4,10}@qq[.]com
[1-9][09]{4,10}[@][q][q][.][c][o][m]
字符串使用正则表达式的方法:
1. matches(String regex) 告知此字符串是否匹配给定的正则表达式。
如:匹配邮箱
2. public String replaceAll(String regex, String replacement) 使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
3. public String replaceFirst(String regex, String replacement) 使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
4. split(String regex) ; 根据给定正则表达式的匹配拆分此字符串。
//将输出:
//12 2E D2 4F 14 EE
正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。
正则表达式常用语法:
[] 代表一位
[a-z]{5} 限制必须是5位并且每一位的范围是a到z之间
[a-zA-Z0-9]{5,11} 限制必须是5位到11位并且每一位的范围是a到z之间或A到Z之间或0到9之间
[a-z]{5,} 限制必须是5位以上并且每一位的范围是a到z之间
[a-z]{0,5} 限制必须是5位以下并且每一位的范围是a到z之间
[\\d]等于[0-9]
[\\w]等于[a-zA-Z0-9]
如果一个位的取值只有一个可以省略括号,但这个值不能是 .,因为.代表任意字符
qq邮箱:
[1-9][09]{4,10}@qq[.]com
[1-9][09]{4,10}[@][q][q][.][c][o][m]
字符串使用正则表达式的方法:
1. matches(String regex) 告知此字符串是否匹配给定的正则表达式。
如:匹配邮箱
String emial = "yztc@163.com";
boolean matches = emial.matches("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$");
System.out.println(matches);//true
2. public String replaceAll(String regex, String replacement) 使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
String src = new String("ab43a2c43d");
System.out.println(src.replaceAll("[\\d]","f")); =>abffafcffd
System.out.println(src.replaceAll("[a]","f")); =>fb43fc23d
3. public String replaceFirst(String regex, String replacement) 使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
String src = new String("ab43a2c43d");
System.out.println(src.replaceFirst("[\\d],"f")); =>abf32c43d
System.out.println(src.replaceFirst("[4]","h")); =>abh32c43d
4. split(String regex) ; 根据给定正则表达式的匹配拆分此字符串。
String mime = "12:2E:D2:4F:14:EE";
String[] split = mime.split("[:]");
for (String str : split) {
System.out.print(str+" ");
}
//将输出:
//12 2E D2 4F 14 EE