Java中正则表达式与模式匹配研究.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中正则表达式与模式匹配研究

Java中正则表达式与模式匹配研究   摘要 正则表达式是代表具有特殊意义字符的字符串。在信息时代,我们从海量数据中寻找特定的信息时,正则表达式起到了至关重要的作用。正则表达式仿佛一个模板,将某个字符模式与所搜索的字符串进行匹配。在编写程序时正则表达式也起着很重要的作用,应用广泛。本文主要研究java中正则表达式的使用,及模式匹配。   关键词 正则表达式;模式匹配;Pattern类;Matcher类   中图分类号TP301.2 文献标识码A 文章编号 1674-6708(2011)48-0180-02   正则表达式仿佛一个模板,将某个字符模式与所搜索的字符串进行匹配。在编写程序时正则表达式也起着很重要的作用,应用广泛。本文主要研究java中正则表达式的使用,及模式匹配。   1 java中的Pattern类   1.1 重要方法   1)static Pattern compile(String regex)   该静态方法通过使用类名调用,返回一个Pattern类型的对象,并且将给定的正则表达式regex编译到模式中。   举例1:Pattern p ; p=Ppile(“\\dabcd\\d”);   2)Matcher matcher(CharSequence input)   使用Pattern类的对象调用该方法,返回一个Matcher类型的对象,其主要作用是用在input中待匹配的字符序列初始化匹配对象。   举例2:Matcher m;m=p.matcher(“aaa1abcd2bbb”);   3)static Boolean matches(String regex,CharSequence input)   使用类名调用该方法,判断input是否与regex正则表达式匹配。   举例3:Pattern.matches(“\\dabcd\\d”, “aaa1abcd2bbb”);   //结果返回 true。   4)String pattern()   用对象调用,返回在其中编译过此模式的正则表达式。   举例4:Pattern p = Ppile(“\\dabcd\\d”);   p.pattern();   //结果返回字符串“\\dabcd\\d”。   5)String[] split(CharSequence input);   用对象调用该方法,返回一个字符串数组,数组中的每个元素都是input中被该模式对象拆分的字符串。   举例5:Pattern p = Ppile(“:”);   String arry[]=p.split(“a:bcd:ef”);   //结果:arry[0]=”a”,arry[1]=”bcd”,arry[2]=”ef”。   2 Matcher类   主要方法:   1)public boolean find()   使用模式对象调用该方法,尝试查找与该模式匹配的输入序列的下一个子序列。若找到返回true,否则返回false。   举例6:Pattern p=Ppile(“\\dabcd\\d”);   Matcher m = p.matcher(“12abcd3fcsd);   If(m.find()){System.out.print(“ok”);}   //m调用find()方法,找到与之匹配的子序列“2abcd3”,程序将输出“ok”。   说明:该方法始于匹配器区域的开头,如果该方法的前一次调用成功,并且没有重置,则下一次调用时从上次没有匹配的第一个字符开始。例如在上例中下一次匹配时从字符“f“处向后查找。   2)public boolean find(int start)   使用模式对象调用该方法,该方法重置匹配器,尝试查找匹配该模式、从指定索引start处开始的输入序列的下一个子序列。   举例7:Pattern p=Ppile(“\\dabcd\\d”);   Matcher m = p.matcher(“12abcd3fcsd);   If(m.find(3)){System.out.print(“ok”);}   //程序结果没有输出“ok“。将从字符”b”处查找匹配的子序列。   3)public int start()   使用模式对象调用该方法,返回以前匹配的初始索引。   4)public int end()   使用模式对象调用该方法,返回最后匹配字符之后的偏移量。   5)public String group()   使用模式对象调用该方法,返回由以前匹配操作所匹配的输入子序列。   举例8: Pattern p=Ppile(“\\

文档评论(0)

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

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

1亿VIP精品文档

相关文档