欢迎来到天天文库
浏览记录
ID:38477315
大小:96.50 KB
页数:6页
时间:2019-06-13
《马士兵正则表达式笔记》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java正则表达式(一)关键字:javaregex,regularexpression正则表达式在处理文本方面用处非常大,最早像在Perl和awk语言中,提供了这种机制,Java在Java2中也增加了正则表达式这个包java.util.regex。这个包为用户使用正则表达式,提供了易用而全面的支持。我的研究方向是web挖掘。从网页中提取内容,处理文本,当然需要正则表达式这个强大的工具了。一、首先我们看一下怎么使用正则表达式的一个例子:AMatcherexaminestheresultsofapplyingapattern.我们希望从这句话中找到所有开头为a的单词。当然
2、这只是一个简单的例子,你可以使用String提供的split方法,得到单词数组,然后遍历各个单词看是否是否开头为a我们现在看看怎么使用正则表达式来处理这个问题:Java代码1.import java.util.regex.*; 2. 3.public class FindA{ 4. public static void main(String args[]) 5. throws Exception{ 6. 7. String candidate = 8. "A Matcher examines the results of applyi
3、ng a pattern."; 9. String regex = "\ba\w*\b"; 10. Pattern p = Pattern.compile(regex); 11. Matcher m = p.matcher(candidate); 12. String val = null; 13. System.out.println("INPUT: " + candidate); 14. System.out.println("REGEX: " + regex +"r"); 15. while (
4、m.find()){ 16. val = m.group(); 17. System.out.println("MATCH: " + val); 18. } 19. if (val == null) { 20. System.out.println("NO MATCHES: "); 21. } 22. } 23.} importjava.util.regex.*;publicclassFindA{publicstaticvoidmain(Stringargs[])throwsException{Str
5、ingcandidate="AMatcherexaminestheresultsofapplyingapattern.";Stringregex="\ba\w*\b";Patternp=Pattern.compile(regex);Matcherm=p.matcher(candidate);Stringval=null;System.out.println("INPUT:"+candidate);System.out.println("REGEX:"+regex+"r");while(m.find()){val=m.group();System.out.p
6、rintln("MATCH:"+val);}if(val==null){System.out.println("NOMATCHES:");}}}从这个例子我们可以看到正则表达式涉及到的两个类Matcher和Pattern,我们以后会专门讨论着连个类。现在主要看看使用正则表达式的流程:首先使用 Pattern的一个静态的方法compile来创建Pattern对象,Java代码1.Pattern p = Pattern.compile(regex); Patternp=Pattern.compile(regex);然后调用Pattern的方法matcherJava代码1
7、.Matcher m = p.matcher(candidate); Matcherm=p.matcher(candidate);得到了Matcher对象,Matcher对象保存了许多匹配信息,然后可以通过find()方法查找匹配的部分,如果有匹配的部分,返回真,使用m.group方法得到匹配的各组值,否则find返回false.当然这只是一般的过程,还有许多更细的方法,在以后会陆续的总结,下面我们看一下Java代码1.String regex = "\ba\w*\b"; Stringregex="\ba\w*\b";这个就是一个正则
此文档下载收益归作者所有