正则表达式--Pattern与Matcher.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA正则表达式--Pattern和Matcher 作者:陈广佳?? ??文章来源: 访问次数: 次????加入时间:2004-11-19 现在JDK1.4里终于有了自己的正则表达式API包,JAVA程序员可以免去找第三方提供的正则表达式库的周折了,我们现在就马上来了解一下这个SUN提供的迟来恩物-?-对我来说确实如此。 1.简介:? java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。 它包括两个类:Pattern和Matcher?Pattern?一个Pattern是一个正则表达式经编译后的表现模式。? Matcher?一个Matcher对象是一个状态机器,它依据Pattern对象做为匹配模式对字符串展开匹配检查。? 首先一个Pattern实例订制了一个所用语法与PERL的类似的正则表达式经编译后的模式,然后一个Matcher实例在这个给定的Pattern实例的模式控制下进行字符串的匹配工作。 以下我们就分别来看看这两个类: 2.Pattern类:? Pattern的方法如下:?static?Pattern?compile(String?regex) 将给定的正则表达式编译并赋予给Pattern类? static?Pattern?compile(String?regex,?int?flags) 同上,但增加flag参数的指定,可选的flag参数包括:CASE?INSENSITIVE,MULTILINE,DOTALL,UNICODE?CASE,?CANON?EQ? int?flags() 返回当前Pattern的匹配flag参数.? Matcher?matcher(CharSequence?input) 生成一个给定命名的Matcher对象? static?boolean?matches(String?regex,?CharSequence?input) 编译给定的正则表达式并且对输入的字串以该正则表达式为模开展匹配,该方法适合于该正则表达式只会使用一次的情况,也就是只进行一次匹配工作,因为这种情况下并不需要生成一个Matcher实例。? String?pattern() 返回该Patter对象所编译的正则表达式。? String[]?split(CharSequence?input) 将目标字符串按照Pattern里所包含的正则表达式为模进行分割。? String[]?split(CharSequence?input,?int?limit) 作用同上,增加参数limit目的在于要指定分割的段数,如将limi设为2,那么目标字符串将根据正则表达式分为割为两段。? 一个正则表达式,也就是一串有特定意义的字符,必须首先要编译成为一个Pattern类的实例,这个Pattern对象将会使用matcher()方法来生成一个Matcher实例,接着便可以使用该?Matcher实例以编译的正则表达式为基础对目标字符串进行匹配工作,多个Matcher是可以共用一个Pattern对象的。 现在我们先来看一个简单的例子,再通过分析它来了解怎样生成一个Pattern对象并且编译一个正则表达式,最后根据这个正则表达式将目标字符串进行分割:? import?java.util.regex.*; public?class?Replacement{ public?static?void?main(String[]?args)?throws?Exception?{ //?生成一个Pattern,同时编译一个正则表达式 Pattern?p?=?Ppile([/]+); //用Pattern的split()方法把字符串按/分割 String[]?result?=?p.split( Kevin?has?seen《LEON》seveal?times,because?it?is?a?good?film. +/?凯文已经看过《这个杀手不太冷》几次了,因为它是一部 +好电影。/名词:凯文。); for?(int?i=0;?iresult.length;?i++) System.out.println(result[i]); } } 输出结果为:? Kevin?has?seen《LEON》seveal?times,because?it?is?a?good?film. 凯文已经看过《这个杀手不太冷》几次了,因为它是一部好电影。 名词:凯文。 很明显,该程序将字符串按/进行了分段,我们以下再使用?split(CharSequence?input,?int?limit)方法来指定分段的段数,程序改动为: tring[]?result?=?p.split(Kevin?has?seen《LEON》sevea

文档评论(0)

xuefei111 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档