tonglin0325的个人主页

Java正则表达式

程序中应用正则表达式则必须依靠Pattern类和Matcher类,这两个类都是在java.util.regex包中定义。

Pattern类的主要作用是进行正则规范的编写。

Matcher类主要是执行规范,验证一个字符串是否符合其规范。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import java.util.regex.Pattern;
import java.util.regex.Matcher;;

public class Regex_demo {

public static void main(String[] args) {
// TODO 自动生成的方法存根
// String str = "123456789";
// if(Pattern.compile("[0-9]+").matcher(str).matches()){ //使用正则表达式
// System.out.println("是由数字组成!");
// } else{
// System.out.println("不是由数字组成!");
// }

// String str = "2016-03-11" ;
// String pat = "\\d{4}-\\d{2}-\\d{2}"; //定义规则,其中/不要转义,//d等于/d
// Pattern p = Pattern.compile(pat); //实例化Pattern类
// Matcher m = p.matcher(str); //验证字符串内容是否合法
// if(m.matches()){
// System.out.println("日期格式合法!");
// }else{
// System.out.println("日期格式不合法!");
// }

String str = "A123B123C123F123" ;
String pat = "\\d+";
Pattern p = Pattern.compile(pat); //实例化Pattern类
String s[] = p.split(str); //进行字符串拆分
for(int i=0;i<s.length;i++){
System.out.println(s[i]+"\t"); //输出其中符合字母的字符
}

Matcher m = p.matcher(str); //实例化Matcher类
String newString = m.replaceAll("_"); //替换所有的数字
System.out.println(newString);
}

}