欢迎来到天天文库
浏览记录
ID:15132222
大小:94.50 KB
页数:7页
时间:2018-08-01
《java正则表达式教程及示例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、当我开始我的Java职业生涯的时候,对于我来说正则表达式简直是个是梦魇。本教程旨在帮助你驾驭Java正则表达式,同时也帮助我复习正则表达式。什么是正则表达式?正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。Java正则表达式和Perl的是最为相似的。Java正则表达式的类在 java.util.regex 包中,包括三个类:Pattern,Matcher 和 PatternSyntaxException。1.Pattern对象是正则表达式的已编译版本。他
2、没有任何公共构造器,我们通过传递一个正则表达式参数给公共静态方法 compile 来创建一个pattern对象。2.Matcher是用来匹配输入字符串和创建的pattern对象的正则引擎对象。这个类没有任何公共构造器,我们用patten对象的matcher方法,使用输入字符串作为参数来获得一个Matcher对象。然后使用matches方法,通过返回的布尔值判断输入字符串是否与正则匹配。3.如果正则表达式语法不正确将抛出PatternSyntaxException异常。让我们在一个简单的例子里看看这些类是怎么用的吧123456789101
3、112131415161718packagecom.journaldev.util; importjava.util.regex.Matcher;importjava.util.regex.Pattern; publicclassRegexExamples{ publicstaticvoidmain(String[]args){ //usingpatternwithflags Patternpattern=Pattern.compile("ab",Pattern.CASE_INSENSITIVE);
4、 Matchermatcher=pattern.matcher("ABcabdAb"); //usingMatcherfind(),group(),start()andend()methods while(matcher.find()){ System.out.println("Foundthetext""+matcher.group() +""startingat"+matcher.start()
5、 +"indexandendingatindex"+matcher.end()); } //usingPatternsplit()method pattern=Pattern.compile("\W"); String[]words=pattern.split("one@two#three:four$five"); for(Strings:words){ System.out.println("SplitusingPattern.split
6、():"+s); } //usingMatcher.replaceFirst()andreplaceAll()methods pattern=Pattern.compile("1*2");192021222324252627282930313233 matcher=pattern.matcher("11234512678"); System.out.println("UsingreplaceAll:"+matcher.replaceAll("_"));
7、 System.out.println("UsingreplaceFirst:"+matcher.replaceFirst("_")); } }上述程序的输出是:InputStringmatchesregex-trueExceptioninthread"main"java.util.regex.PatternSyntaxException:Danglingmetacharacter'*'nearindex0*xx*^atjava.util.regex.Pattern.error(Pattern.java:1924)atjava.u
8、til.regex.Pattern.sequence(Pattern.java:2090)atjava.util.regex.Pattern.expr(Pattern.java:1964)atjava.ut
此文档下载收益归作者所有