资源描述:
《java正则表达式--pattern和matcher(java正则表达式 - pattern和matcher)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、java正则表达式--pattern和matcher(java正则表达式-pattern和matcher)java正则表达式-pattern和matcher现在jdk1.4里终于有了自己的正则表达式api包,java程序员可以免去找第三方提供的正则表达式库的周折了,我们现在就马上来了解一下这个sun提供的-迟来恩物--对我来说确实如此.1.简介.java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包.它包括两个类pattern和matcherpattern.一个pattern是一个正则表达式
2、经编译后的表现模式.matching一个matcher对象是一个状态机器,它依据pattern对象做为匹配模式对字符串展开匹配检查.首先一个pattern实例订制了一个所用语法与perl的类似的正则表达式经编译后的模式,然后一个matcher实例在这个给定的pattern实例的模式-控制下进行字符串的匹配工作.以下我们就分别来看看这两个类.2.pattern类.pattern的方法如下:staticpatterncompile(stringregex)将给定的正则表达式编译并赋予给pattern类staticpatternco
3、mpile(stringregex,intflags)同上,但增加flag参数的指定,可选的flag参数包括:caseinsensitive,multiline,dotall,unicodeblock,canoneqintflags)返回当前pattern的匹配flag参数.competecompete(charsequenceinput)生成一个给定命名的matcher对象staticbooleanmatch(stringinputregex,charsequence)编译给定的正则表达式并且对输入的字串以该正则表达式为模开
4、展匹配,该方法适合于该正则表达式只会使用一次的情况,也就是只进行一次匹配工作,因为这种情况下并-不需要生成一个matcher实例.(stringpattern)返回该patter对象所编译的正则表达式.string[]split(charsequenceinput)将目标字符串按照pattern里所包含的正则表达式为模进行分割.string[]split(charsequenceinput,intlimit)作用同上,增加参数limit目的在于要指定分割的段数,如将limi设为2,那么目标字符串将根据正则表达式分为割为两段.一
5、个正则表达式,也就是一串有特定意义的字符,必须首先要编译成为一个pattern类的实例,这个pattern对象将会使用matcher()方法来生成一-个matcher实例,接着便可以使用该matcher实例以编译的正则表达式为基础对目标字符串进行匹配工作,多个matcher是可以共用一个pattern对象的.现在我们先来看一个简单的例子,再通过分析它来了解怎样生成一个pattern对象并且编译一个正则表达式,最后根据这个正则表达式将目标字符串进行分割.importjava.util.regex.';publicclassrep
6、lacement{publicstaticvoidmain(string[]args()throwsexception//////////////生成一个pattern,同时编译一个正则表达式thepattern(p=pattern.compile("[]").////////用pattern的split()方法把字符串按"/"分割stringresult=p.split([][]kevinhasseen《leon》sevealtimes,becauseitisagoodmovie."+"凯文已经看过《这个杀手不太冷》几次了,
7、因为它是一部"+好电影.名词:凯文.");for(inti=0;我的<8、为它是一部好电影。/名词:凯文”,2);“2”表明将目标语句分为两段这里面的参数。输出结果则为:凯文看到列昂《》几次,因为它是一部好电影。凯文已经看过《这个杀手不太冷》几次了,因为它是一部好电影。/名词:凯文。由上面的例子,我们可以比较出java正则表达式模式。利用。包在构造