有关java中Pattern、Matcher的使用

来源:互联网 发布:数据库自学教程 编辑:程序博客网 时间:2024/05/18 08:54

java.util.regex.Pattern
正则表达式的一种已编译的实现。
正则表达式通常以字符串的形式出现,它首先必须被编译为Pattern类的一个实例。
结果模型可以用来生成一个Matcher,它(生成的Macher实例)可以匹配根据
这个正则表达式生成的任意字符序列。在实现一个匹配器中的匹配时包括了
任意多的情况,并且多个匹配器可以共享同一个匹配模式。
下面是一个典型的调用次序:
Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaab");
boolean b = m.matches();
为了方便使用,Pattern类也定义了matches()方法,
因为有时候一个正则表达使只用到一次。
在一次调用中,这个方法首先编译表达式,然后匹配输入的序列。
下面这个句子:
boolean b = Pattern.matches("a*b", "aaaaab");
等价于上面的三个句子。但是由于它不允许便以后的模式被重用,所以在需要重复匹配
时显然比上面的方法效率要低。
Pattern类的实例不能被改变,并且是线程安全的。注意,Matcher类并不是线程安全的


public static void main(String[] args) {
String str = "aaaaaaaaaaaaww

wwwwwwwwwwwwwwwwwwwww

wwwwwwwwwwwwwwwwwwwwww

wwwwwwwwwwwwwwwwwwwwwww

wwwwwwwwwwwwwwwwwwwwwww

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
Pattern pa;
Matcher ma;
pa = Pattern
.compile("<meta.*?name.*?=.*?/".*?Description.*?/".*content.*?=.*?/");
ma = pa.matcher(str);
if (ma.find()) {
System.out.println("-----");
System.out.println(ma.group());
} else {
System.out.println("没有所匹配的字符串");
}

}

原创粉丝点击