正则表达式:含有一些具有特殊意义字符的字符串
特殊意义字符也叫元字符,所以需要转义,转为其特殊意义
[a-zA-Z] 表示任意一个英文字母
[a-e[g-z]] a到e或g到z的任何一个字母(并运算)
[a-o&&[def]] d,e,f 交运算
Java中 涉及正则表达式的方法:
使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
成功则返回替换后的字符,否则返回原字符
2.public String[] split(String regex)
根据给定正则表达式的匹配拆分此字符串。
3.public boolean matches(String regex)
告知此字符串是否匹配给定的正则表达式。
一些测试例子:
public class Regex {
public static void main(String[] args) {
String str = "abc125abc12abc4abc";
String res = str.replaceAll("\\d", "数字");
System.out.println(res);
}
}
结果:abc数字数字数字abc数字数字abc数字abc
public class Regex {
public static void main(String[] args) {
String str = "abc125abc12abc4abc";
//正则表达式中多了一个“+”
String res = str.replaceAll("\\d+", "数字");
System.out.println(res);
}
}
结果:abc数字abc数字abc数字abc
public class Regex {
public static void main(String[] args) {
String str = "abc125abc12abc4abc";
String[] res = str.split("\\d+");
for (String st : res) {
System.out.println(st);
}
}
}
结果:abc
abc
abc
abc
public class Regex {
public static void main(String[] args) {
String str = "123abc";
String reg = "^[0-9]+[a-z]*$";
boolean b = str.matches(reg);
System.out.println(b);
}
}
结果:true