帮助你驾驭Java正则表达式.docx
上传人:书生****写意 上传时间:2024-09-13 格式:DOCX 页数:7 大小:12KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

帮助你驾驭Java正则表达式.docx

帮助你驾驭Java正则表达式.docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

帮助你驾驭Java正则表达式帮助你驾驭Java正则表达式什么是正则表达式?正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。Java正则表达式和Perl的是最为相似的。Java正则表达式的类在java.util.regex包中,包括三个类:Pattern,Matcher和PatternSyntaxException。Pattern对象是正则表达式的已编译版本。他没有任何公共构造器,我们通过传递一个正则表达式参数给公共静态方法compile来创建一个pattern对象。Matcher是用来匹配输入字符串和创建的pattern对象的正则引擎对象。这个类没有任何公共构造器,我们用patten对象的matcher方法,使用输入字符串作为参数来获得一个Matcher对象。然后使用matches方法,通过返回的布尔值判断输入字符串是否与正则匹配。如果正则表达式语法不正确将抛出PatternSyntaxException异常。让我们在一个简单的例子里看看这些类是怎么用的吧packagecom.journaldev.util;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassRegexExamples{publicstaticvoidmain(String[]args){//usingpatternwithflagsPatternpattern=Patternpile("ab",Pattern.CASE_INSENSITIVE);Matchermatcher=pattern.matcher("ABcabdAb");//usingMatcherfind(),group(),start()andend()methodswhile(matcher.find()){System.out.println("Foundthetext""+matcher.group()+""startingat"+matcher.start()+"indexandendingatindex"+matcher.end());}//usingPatternsplit()methodpattern=Patternpile("W");String[]words=pattern.split("one@two#three:four$five");for(Strings:words){System.out.println("SplitusingPattern.split():"+s);}//usingMatcher.replaceFirst()andreplaceAll()methodspattern=Patternpile("1*2");matcher=pattern.matcher("11234512678");System.out.println("UsingreplaceAll:"+matcher.replaceAll("_"));System.out.println("UsingreplaceFirst:"+matcher.replaceFirst("_"));}}既然正则表达式总是和字符串有关,Java1.4对String类进行了扩展,提供了一个matches方法来匹配pattern。在方法内部使用Pattern和Matcher类来处理这些东西,但显然这样减少了代码的行数。Pattern类同样有matches方法,可以让正则和作为参数输入的字符串匹配,输出布尔值结果。下述的代码可以将输入字符串和正则表达式进行匹配。Stringstr="bbb";System.out.println("UsingStringmatchesmethod:"+str.matches(".bb"));System.out.println("UsingPatternmatchesmethod:"+Pattern.matches(".bb",str));所以如果你的需要仅仅是检查输入字符串是否和pattern匹配,你可以通过调用String的matches方法省下时间。只有当你需要操作输入字符串或者重用pattern的时候,你才需要使