- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
早期起源 正则表达式的“祖先”可以一直上溯至对人类神经系统如何工作的早期研究。Warren McCulloch 和 Walter Pitts 这两位神经生理学家研究出一种数学方式来描述这些神经网络。 1956 年, 一位叫 Stephen Kleene 的美国数学家在 McCulloch 和 Pitts 早期工作的基础上,发表了一篇标题为“神经网事件的表示法”的论文,引入了正则表达式的概念。正则表达式就是用来描述他称为“正则集的代数”的表达式,因此采用“正则表达式”这个术语。 随后,发现可以将这一工作应用于使用Ken Thompson 的计算搜索算法的一些早期研究,Ken Thompson是Unix 的主要发明人。正则表达式的第一个实用应用程序就是 Unix 中的qed 编辑器。 如他们所说,剩下的就是众所周知的历史了。从那时起直至现在正则表达式都是基于文本的编辑器和搜索工具中的一个重要部分。 重要声明 许多语言,包括Perl、PHP、Python、JavaScript和JScript,都支持用正则表达式处理文本,一些文本编辑器用正则表达式实现高级“搜索-替换”功能 Java正则表达式不是javascript正则表达式 Java正则表达式优点 使用java正则表达式与传统编程相比 优点: 在判断EMAIL等传统编程方法可能需要一二十行代码,使用正则表达式只需几行代码而已 提高编程效率 弊端: 需要学习java正则表达式的用法。 基础知识部份 开始java正则表达式的基础知识 正则表达式基础知识 我们先从简单的开始。假设你要搜索一个包含字符“cat”的字符串,搜索用的正则表达式就是“cat”。如果搜索对大小写不敏感,单词“catalog”、“Catherine”、“sophisticated”都可以匹配。也就是说: 1.1 句点符号 假设你在玩英文拼字游戏,想要找出三个字母的单词,而且这些单词必须以“t”字母开头,以“n”字母结束。你可以使用一个通配符——句点符号“.”。这样,完整的表达式就是“t.n”,它匹配“tan”、“ten”、“tin”和“ton”,还匹配“t#n”、“tpn”甚至“t n”,还有其他许多无意义的组合。这是因为句点符号匹配所有字符,包括空格、Tab字符甚至换行符: 1.2 方括号符号 句点优点是通用,同时缺点也是通用 为了解决句点符号匹配范围过于广泛这一问题,你可以在方括号(“[]”)里面指定看来有意义的字符。此时,只有方括号里面指定的字符才参与匹配。也就是说,正则表达式“t[aeio]n”只匹配“tan”、“Ten”、“tin”和“ton”。但“Toon”不匹配,因为在方括号之内你只能匹配单个字符 .方括号表示可能出现的单个字符 1.3 “或”符号 句点和方括号只匹配单个字符,如果要匹配多个字符就要看”或”运算符了 如果除了上面匹配的所有单词之外,你还想要匹配“toon”,那么,你可以使用“|”操作符。“|”操作符的基本意义就是“或”运算。要匹配“toon”,使用“t(a|e|i|o|oo)n”正则表达式。这里不能使用方扩号,因为方括号只允许匹配单个字符;这里必须使用圆括号“()”。圆括号还可以用来分组,具体请参见后面介绍。 1.4.1 表示匹配次数的符号 遇到单个字符的重复问题,就要看下面的符号表了 表一显示了表示匹配次数的符号,这些符号用来确定紧靠该符号左边的符号出现的次数: 1.4.2常用符号小结1 句点.表示单个字符 方括号[]表示可能出现字符集里的单个字符 括号()可表示多个字符 大括号{}表示次数 转义字符“\” 一般正则表达式是由通配符和固定字符组成 1.4.3实例1 1.4.4实例2 假设进行搜索的时候,你希望连字符号可以出现,也可以不出现——即,999-99-9999和999999999都属于正确的格式。这时,你可以在连字符号后面加上一个数量限定符号,如图所示: 看看下面那一行正则表达式是对的: (0-9){3} \-?(0-9){2} \-? (0-9){4} [0-9]{3} \-*[0-9]{2} \-* [0-9]{4} 正确的是: 1.4.5实例3 下面我们再来看另外一个例子。美国汽车牌照的一种格式是四个数字加上二个字母。它的正则表达式前面是数字部分“[0-9]{4}”,再加上字母部分“[A-Z]{2}”。图显示了完整的正则表达式。 1.5 “否”符号 “^”符号称为“否”符号。如果用在方括号内,“^”表示不想要匹配的字符。例如,图四的正则表达式匹配所有单词,但以“X”字母开头的单词除外。 1.6.1 圆括号和空白符号 假设要从格式为“June 26, 1951”的生日日期中提取出月份部分,用来匹配该日期的正则表达式可以如图所示:
您可能关注的文档
- Endnote使用方法入門培训.ppt
- Endoflifechoices生死的抉擇.ppt
- EnhancedXASOPClass的應用案例.ppt
- EPO在心腎综合征中的应用.ppt
- Eric城市模.ppt
- Ericwanglin用戶体验时代的九条建议.pptx
- ERP銷售基本技能要求.ppt
- EUROCLEARINGINTRODUCTION歐元清算简介.ppt
- EVAR的相關问题GoreEXCLUDER经验分享.ppt
- EVAR術中意外分析.ppt
- 统编版语文二年级下册 13 画杨桃【新课标版】 课件.pptx
- 统编版语文三年级上册 1 大青树下的小学【精华 教案版】课件.pptx
- 统编版语文三年级上册 4 古诗三首【新课标版】课件.pptx
- DB32_T 5162-2025 健康县(市、区)建设规范_可搜索.pdf
- T_CPSS 1005-2025 构网型光伏发电站接入电网技术规范.pdf
- DB32_T 5160-2025 传媒行业数据分类分级指南_可搜索.pdf
- DB14_T 3553—2025 煤矿用液压支架电液控制系统常态化运行保障技术规范.pdf
- DB14_T 3549—2025 负荷类虚拟电厂功率调节能力测试技术规范.pdf
- DB32_T 5156-2025 零碳园区建设指南.pdf
- DB14_T 3550—2025 煤炭洗选企业数据管理规范.pdf
最近下载
- catia高级技巧.doc
- 保护生物学精品课件-迁地保护策略.ppt VIP
- 麦肯锡结构化战略思维模型:如何想清楚-说明白-做到位 P63.pptx
- 日立牌除湿机RD-2099L型使用说明书.pdf
- 2022年福建厦门市思明区市场监督管理局补充非在编工作人员招聘考试备考试题及答案解析.docx VIP
- 妊娠合并血小板减少护理查房.pptx
- T∕CACM 1021.92-2018 中药材商品规格等级 独活.docx VIP
- 2025年秋季开学教师收心会上,校长讲话:以“归零心态”重新启程,以“笃行姿态”再攀高峰!.docx
- 《一个小村庄的故事》PPT.pptx VIP
- 氟硅酸钠(氟硅化钠)的理化性质及危险特性表.doc VIP
文档评论(0)