美文网首页
精通正则表达式(基础版)

精通正则表达式(基础版)

作者: Michaelhbjian | 来源:发表于2018-10-07 19:36 被阅读0次

在做文字处理或编写程序时,用到查找、替换等功能,使用正则表达式能够简单快捷的完成目标。

0.RegexBuddy工具的使用

参考资料[Zjmainstay]

1.初始界面介绍

image.png

2.如何使用匹配

可以匹配到字符串显示为黄色和蓝色,没有匹配到的不变色。

image.png

3.如何使用Debug功能

可以看出匹配的每一步的具体过程。

image.png

1.字符

image.png

1.非打印字符

image.png

2.特殊字符

image.png

按照字符来解读更易于明白新遇到的正则表达式的内部逻辑。比如如下解释:

image.png

3.反义字符

image.png

注意是大写字母

4.常见的元字符

如果需要匹配的某个字符本身就是元字符,则正则表达式会在前面加上转义字符\

image.png

注意:一个字符是否是元字符取决于应用的具体情况。例如,只有在字符组外并且是在未转义的情况下,*才是一个元字符。\*是对*的转义,而\\*则不是(第一个反斜线用来转义第二反斜线)。

2.量词(限定字符)

image.png

现在来看下colorcolour的匹配。它们的区别在于,后面的单词比前面的多一个u,我们可以用colou?r来解决这个问题。元字符?代表可选项。把它加在一个字符的后面,就代表此处容许出现这个字符,不过它的出现并非匹配成功的必要条件。

image.png

3.字符边界

image.png

4.预搜索(零宽断言、环视)

判断当前位置的前后字符,是否符合指定的条件,但不匹配前后的字符。

image.png

5.匹配模式

image.png

6.选择符和分组

image.png

现在我们需要匹配表示7月4日(July fourth)的文本,其中月份可能写作July或者是Jul,而日期可能写作fourth4th或者是4。显然,我们可以使用如下表示:

(July|Jul).(fourth|4th|4)

下面我们可以做一些优化:我们把(July|Jul)缩短为July?。然后把(fourth|4th|4)缩短为4(th)?。优化后的正则表达式为:

July?.(fourth|4(th)?)

7.运算符优先级

image.png

编写正则表达式时,按照预期获得成功的匹配要花去一半的工夫,另一半的工夫用来思考如何忽略那些不符合要求的文本。

8.电子邮件正则表达式示例讲解

电子邮件的规则如下:

^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$

匹配效果如下:

image.png

现在我们来一步步分解来理解这个正则表达式:(这个还是慢慢看罗)

image.png

参考资料

https://my.oschina.net/u/3080373/blog/1550653

https://blog.csdn.net/cunjue/article/details/52404253

相关文章

  • 精通正则表达式(基础版)

    在做文字处理或编写程序时,用到查找、替换等功能,使用正则表达式能够简单快捷的完成目标。 0.RegexBuddy工...

  • 正则表达式(1)

    本博客来自精通正则表达式第三版 第一章:正则表达式入门(Introduction to regex) 正则表达式概...

  • 粗通正则表达式

    前言 本文并非原创,内容分别摘自维基百科、《精通正则表达式》第三版、正则表达式30分钟入门教程。 什么是正则表达式...

  • 30分钟玩转「正则表达式」

    简介 推荐阅读:Jeffrey Friedl 《精通正则表达式(第3版)》,本文是该书的读书笔记。 本文「作业部落...

  • [精通正则表达式(第三版)]高清电子书PDF下载(适用JavaS

    [精通正则表达式(第三版)]高清电子书PDF下载 (适用JavaScript,Perl,PHP,Java,Pyth...

  • Java学习规划

    概述 本文档主要说明java学习计划。 Java基础(2周) java零基础入门到精通(2019版) Java基础...

  • 2018 阅读技术图书目录

    C语言从入门到精通(第2版) (软件开发视频大讲堂) 零基础学C++ 第2版 (零基础学编程) 算法精解:C语言描...

  • 正则表达式高级

    正则表达式高级——《精通正则表达式》+Java/Go/Python官方文档+多年经验+实验结果知识整理 [TOC]...

  • 正则

    前言 《精通正则表达式第三版》笔记,个人认为捕获和环视的概念很有用 1捕获组 每一个 () 内的匹配到的元素都对...

  • c语言什么书适合零基础的人看?安利一波书单

    c语言什么书籍 适合零基础的到脱发 基础篇 《C语言入门很简单》 《C语言从入门到精通》 《C程序设计语言 第2版...

网友评论

      本文标题:精通正则表达式(基础版)

      本文链接:https://www.haomeiwen.com/subject/pgwwoftx.html