- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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(“\\
您可能关注的文档
最近下载
- 怎样恢复已删除的文件.doc VIP
- 2025年中国铁道橡胶垫板数据监测报告.docx
- (NEW)电子科技大学数学科学学院857概率论与数理统计历年考研真题汇编(含部分答案).pdf
- 2023-2024全国初中物理竞赛试题精选精编第05讲凸透镜成像(解析版).docx VIP
- 2001-2016年电子科技大学《601数学分析》历年考研真题汇总(含部分答案).pdf VIP
- 古典文献学第二章 文献的形成和流布.ppt VIP
- 2025年综合窗口岗位工作人员招聘考试笔试试题(附答案).docx VIP
- 纪念中国红军长征胜利89周年PPT课件.pptx VIP
- 2025年中国衬橡胶设备数据监测报告.docx
- 中央民族大学非事业编制合同制职工招聘笔试试题及答案2021.docx VIP
文档评论(0)