正则表达式在处理文本方面用处非常大,最早像在Perl和awk语言中,提供了这种机制,Java在Java 。这个包为用户使用正则表达式,提供了易用而全面的支持。我的研究方向是web挖掘。从网页中提取内容,处理文本,当然需要正则表达式这个强大的工具了。
一、首先我们看一下怎么使用正则表达式的一个例子:
A Matcher examines the results of applying a pattern.
我们希望从这句话中找到所有开头为a的单词。
当然这只是一个简单的例子,你可以使用String提供的split方法,得到单词数组,然后
遍历各个单词看是否是否开头为a
我们现在看看怎么使用正则表达式来处理这个问题:
import .*;
public class FindA{
public static void main(String args[])
throws Exception{
String candidate =
"A Matcher examines the results of applying a pattern.";
String regex = "\\ba\\w*\\b";
Pattern p = pile(regex);
Matcher m = (candidate);
String val = null;
("INPUT: " + candidate);
("REGEX: " + regex +"\r\n");
while (()){
val = ();
("MATCH: " + val);
}
if (val == null) {
("NO MATCHES: ");
}
}
}
从这个例子我们可以看到正则表达式涉及到的两个类Matcher和Pattern,我们以后会专门讨论着连个类。现在主要看看使用正则表达式的流程:
首先使用 pile来创建Pattern对象,
Pattern p = pile(regex);
然后调用Pattern的方法matcher
Matcher m = (candidate);
得到了Matcher对象,Matcher对象保存了许多匹配信息,然后可以通过find()方法
查找匹配的部分,如果有匹配的部分,返回真,,
否则find返回false.
当然这只是一般的过程,还有许多更细的方法,在以后会陆续的总结,下面我们看一下
String regex = "\\ba\\w*\\b";
这个就是一个正则表达式,
正则表达式 来自淘豆网m.daumloan.com转载请标明出处.