java学习笔记06--正则表达式 (二)

2014-11-24 10:46:26 · 作者: · 浏览: 1
String str = "AAA000BBB111CCC";
String pattern = "\\d+";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(str);
String s = m.replaceAll("---");
System.out.println(s); //AAA---BBB---CCC
}
}

public class T {
public static void main(String[] args) {
String str = "AAA000BBB111CCC";
String pattern = "\\d+";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(str);
String s = m.replaceAll("---");
System.out.println(s); //AAA---BBB---CCC
}
}

String类对正则的支持

从之前的操作中,可以返现,很多的代码除了要求的字符串不同,使用的正则规则不同,基本上就没有什么特别的了。

所以在JDK1.4之后,java对正则进行了一些扩充,在String中开始直接支持正则的操作。

\

[java]
public class T {
public static void main(String[] args) {
String str1 = "AAA000BBB";
String str2 ="1990-04-13";
String str3 = "i_love_you";
System.out.println("字符串替换:"+str1.replaceAll("\\d+", "---"));
System.out.println("字符串验证:"+str2.matches("\\d{4}-\\d{2}-\\d{2}"));
String s[] = str3.split("_");
System.out.println("字符串拆分:");
for(int i=0;i System.out.println(s[i]);
}

}
}

public class T {
public static void main(String[] args) {
String str1 = "AAA000BBB";
String str2 ="1990-04-13";
String str3 = "i_love_you";
System.out.println("字符串替换:"+str1.replaceAll("\\d+", "---"));
System.out.println("字符串验证:"+str2.matches("\\d{4}-\\d{2}-\\d{2}"));
String s[] = str3.split("_");
System.out.println("字符串拆分:");
for(int i=0;i System.out.println(s[i]);
}

}
}
总结:

1、使用正则可以方便的完成字符串的验证、拆分、替换等复杂功能。

2、在开发中一般都会直接使用String类中提供好的正则支持,而往往很少直接使用Pattern类或Matcher类。

3、在一些正则应用的时候,对于一些敏感的字符要进行转义操作。