Java正则表达式全攻略_B.pdfVIP

  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正则表达式全攻略_B

Java 正则表达式全攻略(一) 摘自网络 /know_showKnowledgeByID=knowledge.kid_63.htm 特此声明 本文并非全部原创,我只是在前人的基础上进行针对 Java 的补充和完成。特此向各位前辈致敬。本文来源于以下内容:  维基百科-正则表达式  深入浅出之正则表达式  正则表达式 30 分钟入门教程 什么是正则表达式 正则表达式(英文:Regular Expression)在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多 文本编辑器或其他工具里,正则表达式通常被用来检索或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串 操作。例如,在 Perl 中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix 中的工具软件(例如 sed 和 grep)普及开 的。 “正则表达式”通常缩写成 “regex”。 在现实工作场景中,正则表达式常被用于进行输入验证、内容检索、字符串替换等工作。个人认为正则表达式应该算程序员的必修课之一,由于它 应用的非常之广泛,而且在各种语言基本上都可以使用,更重要的是在 Linux 或 Unix 系统下能灵活使用正则表达式也可大大提高工作效率,所 以学习它是非常保值的。 正则表达式与正则表达式引擎 直观而言正则表达式是一段负责正则表达式语法的字符串,而负责处理这段表达式的程序,就是正则表达式引擎。表达式引擎由语言或环境提供, 作为开发者并不直接面对它。我们只需要编写表达式,然后交给表达式引擎进行处理就可以了。不同语言或环境会以不同方式为我们使用正则表达 式提供支持,就拿 Java 语言来说,我们可以在 String.replaceAll() / String.split() / String.matches() 上直接使用正则表达式,又或者通 过 java.util.regex 包中提供的类来使用正则表达式。 不同环境的正则表达式写法与支持或多或少会有一些差别,不过这你可以完全不需要担心,因为这并不影响你使用正则表达式,近代的表达式引擎 都非常类似。Perl 5 类型的引擎应该算应用最为广泛的引擎。如果你想了解各种风格的引擎的语法支持,可以参考《Regexp Syntax Summary》。 表达式与符号 让我们从一个最简单的程序 (Java)开始说起: 1: String string = gooooooogle; 2: String regex = go*gle; 3: System.out.println(string.matches(regex)); 这个段代码运行的话,将会在控制台输出 “true”。它是说字符串 string 与正则表达式 regex 匹配,换句话说,就是字符串 string 符合正则 表达式 regex 所描述的模式。在该例子中,最起码我们可以知道正则表达式的操作对象是字符串,而正则表达式也是一个字符串。字符串又是由 字符所构成的,在表达式 go*gle 中 g,o,l,e 是文字字符而 * 是数量限定字符,它代表前面的字符可以不出现,也可以出现一次或者多次。 文字字符 最基本的正则表达式由单个文字符号组成。如 a ,它将匹配字符串中第一次出现的字符 “a”。如对字符串 “Jack is a boy”。 “J”后的 “a” 将被匹配。而第二个 “a”将不会被匹配。正则表达式也可以匹配第二个 “a”,这必须是你告诉正则表达式引擎从第一次匹配的地方开始搜索。在 文本编辑器中,你可以使用 “查找下一个”。如果变成 Java 代码的话就是这样: 1: String string = Jack is a boy; 2: // 将字符串编译为正则表达式的对象表示形式 3: Pattern pattern = Ppile(a); 4: // 创建对字符串 string 根据正则表达式 pattern 进行匹配操作的匹配器对象 5: Matcher matcher = pattern.matcher(string); 6: // 查找下一个匹配的字符串内容,如果找到返回 true,找不到返回 false 7: while (matcher.find()) { 8: // 输出捕获到的匹配内容 9: System.out.print(matcher.group() + \t); 10

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档