- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java正则表达式彻底研究
package testreg; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * pTitle: 正则表达式的研究/p * pDescription: * 最近在工作中常常用到一些正则表达式的使用问题,到网上去找介绍大多是一鳞半爪。求人不如 * 求已。一狠心,自己看!这两天利用我们项目两期之间的一点空闲对J2SE所支持的正则表达式来 * 了个彻底研究!代价是……就是浪废了部门近十二张白纸。闲话少说,书归正传。 * 原理: * 正则表达式的原理是有限状态自动机,自动机内部有有限个状态,有一个初始状态,有一个 * 结束状态。自动机根据输入和自身内部的当前状态来决定下一步于什么。呵呵,这是很久以前学 * 的东东了也记不清了,大家只作参照吧。 * Java中的正则表达式: * 从J2SE1.4起Java增加了对正则表达式的支持就是java.util.regex包,这个包中主要有 * 3个类:Pattern,代表模式,就是正则表达式自身,Matcher,是一个有限状态自动机,其实大多 * 数的活还是让Pattern类于了,Matcher往往只是简单的调用Pattern,不知道这是什么模式。这 * 两个类写的都很经典,还有不少算法在内值得有功力的人仔细研究一下。另一个是一个异常类当所 * 用正则表达式不正确时抛出,是运行时异常。 * 几个难点: * 1.line terminator * line terminator 中文意终结符,是指一个或两个字符组成的字符序列。java中的 * 所有line terminator: * A newline (line feed) character (\n), * -----------换行符(0A) * A carriage-return character followed immediately by a newline character (\r\n), * -----------回车+换行(0D0A) * A standalone carriage-return character (\r), * -----------回车(0D) * A next-line character (\u0085), * ------------下一行符?(?表示我也不知道是什么,请大家明白的给我发mail * A line-separator character (\u2028), or * ------------行分隔符? * A paragraph-separator character (\u2029). * ------------段落分隔符? * If UNIX_LINES mode is activated, then the only line terminators recognized are newline characters. * 如果使用unix模式则只有\n被认为是line terminator,也就是在使用pattern时如下: * Pattern p=Ppile(正则表达式,Pattern.UNIX_LINE); * 或 Pattern p=Ppile((?d)正则表达式) * .匹配除line terminator以外的所有字符(未指定DOTALL时) * 在指定DOTAll模式时.匹配所有字符 * 2.Quantifiers,Greedy,Reluctant and Possessive. * 这几个词不太好译,原文是Greedy Quantifiers,Reluctant Quantifiers and Possessive * Quantifiers凭我这点英语我只好译作贪婪的量子,不情愿的量子和占有欲强的量子?这也太搞笑了, * 好在我理解了他们的意思。这点等下我细说。 * 3. 对于[a-zA-Z],[a-d[h-i]],[^a-f],[b-f[a-z]],[b-f[^cd]]等形式的理解 * 对于上述,原文用range,union,negation,intersection,subtraction等来描述 * range表是范围,union是并集,negation是取反,intersection是交集,subtraction * 是……是减法??反正是减去一部分的意思 * range a-z 从a到z的小写字母 * negation [^a-f]除了a-f之外所有的,全集是所有字符 * union [a-d[h-i]] a-d并h-i
您可能关注的文档
最近下载
- 2024年天津市高考地理一轮复习答题模板专题精讲精练6 人口类综合题 .pdf VIP
- DB64 1522.1-2024养老机构安全应急处置规程 第1部分:老年人意外.pdf VIP
- 《食品科学概论》全套教学课件.pptx
- GB51158-2015 通信线路工程设计规范.docx VIP
- 电机检修方案.doc VIP
- 一种高油脱盐乳清配料粉及其生产工艺.pdf VIP
- 日文简历履历书模板大全.pdf VIP
- 入团志愿书电子版其它工作范文实用文档-入团志愿书电子版.pdf VIP
- TZJ 3001-2017 铁路基本建设工程设计概(预)算费用定额(完整版).doc.docx VIP
- 广州市番禺区东涌中学校本教材系列.doc VIP
文档评论(0)