第一章 正则表达式干啥用
1.正则表达式用途:①搜索②替换。
  定义:正则表达式是用正则表达式语言创建的。用于解决文本匹配替换问题。

第二章 匹配单个字符
1.纯文本正则表达式匹配原始文本内对应字符。
2.正则表达式区分大小写。
3.正则表达式中 . 字符可以匹配任何一个单个的字符。可匹配任何单个的字符、字母、数字甚至是 . 字符本身。(除换行符外)
4.\是一个元字符(metacharacter,表示这个字符有特殊含义,而不是字符本身含义)。

第三章 匹配一组字符
1.元字符[和],两个字符之间所有字符进行匹配。
2.字符区间可以用元字符-(连字符)来定义。如0-9,a-z。她只用于[和]之间,其他地方作普通字符,不用转义。
3.元字符^表明你想对一个字符集合区非匹配。只用于集合[^]中。

第四章 使用元字符
1.元字符\用于对其他字符进行转义。
2.元字符,有两种:①用来匹配文本②语法要求
3.①[\b]回退并删除一个字符②\f换页符③\n换行符④\r回车符⑤\t制表符⑥\v垂直制表符
4.Windows使用\r\n文本行结束标签。Unix和Linux只用一个\n。
5.元字符\d等价[0-9];元字符\D等价[^0-9]
6.元字符\w等价[a-zA-Z0-9];\W等价[^a-zA-Z0-9]
7.元字符\s等价[\f\n\r\t\v];\S等价[^\f\n\r\t\v]
8.十六进制\x ,八进制\0
9.POSIX字符类:
①[:alnum:]等价[a-zA-Z0-9]
[:alpha:]等价[a-zA-Z]
[:blank:]等价[\t ]
④[:cntrl:]等价ASCII控制字符,即0-31,127
[:digit:]等价[0-9]
[:graph:]等价[:print:]-空格
[:lower:]等价[a-z]
[:print:]等价任一可打印字符
[:punct:]等价不是①④的
[:space:]等价[^\f\n\r\t\v]
[:upper:]等价[A-Z]
[:xdigit:]等价[a-fA-F0-9]

第五章 重复匹配
1.元字符+ ,用于字符和集合之后,匹配一个或多个字符(至少一个;不匹配零个字符的情况)。匹配+本身,用\+
2.当在字符集合里,像.和+这样的元字符将被解释为普通字符,不需要转义。
3.*与+用法相同,*匹配字符或集合连续出现零次或多次的情况。
4.元字符? ,只能匹配一个字符(或集合)的零次或一次出现。
5.元字符{}作用:
①可设置重复匹配次数,如{5},则需要连续5次。
②可设置重复匹配区间{2,4},2-4次
③可设置至少匹配次数{3,},3次以上
6.*和+都是“贪婪型”元字符,琪匹配行为多多益善。此时,可使用?后缀将其转化为“懒惰型”版本。如“贪婪型”:*  +  {n,} ,“懒惰型”:*?  +?  {n,}?

第六章 位置匹配
1.限定符\b指定单词边界,用于匹配一个单词的开始/结尾。
2.定义字符串边界字符:①^定义字符串开头②$定义字符串结尾。
3.分行匹配模式(multiline mode)记号(?m),使得正则表达式引擎把行分隔符当做一个字符串分隔符来对待。
在分行匹配模式下,^不仅匹配正常的字符串开头,还匹配行分隔符(换行符)后面开始的位置;$同理。
4.很多证则表达式实现不支持(?m)
5.\A和\B作用基本等价^和$,但\A和\B不受分行匹配模式影响。

第七章 使用字表达式
1.字表达式是一个更大的表达式的一部分;把一个表达式划分一系列字表达式的目的是为了把那些字表达式当做一个独立元素来使用。
2.字表达式必须用两个元字符和(和)括起来。
3.|字符是正则表达式的或操作符,左右两边分别作以整体看待。
4.字表达式允许嵌套(包括多层嵌套)
○匹配结果符合预期的正则表达式容易,排除不匹配结果的难。

第八章 回溯引用:前后一致匹配
1.回溯引用指的是模式的后半部分引用在前半部分中定义的字表达式。使用\1\2\3代表回溯引用第123个表达式(不同环境符号可能不同)。C#中match.Groups[1]对应着第一个匹配。
2.回溯引用只能用来引用模式里的字表达式。
3.回溯引用匹配通常从1开始计数,第0个匹配代表整个正则表达式。
4.正则表达式梗适合用于复杂的替换,尤其是需要使用回溯引用的场合。
5.大小写转换元字符: \E(结束\L或\U转换)
\l(把下一字符转小写)  \L(把\L到\E间转小写)
\u(把下一字符转大写)  \U(把\U到\E间转大写)

第九章 前后查找
1.前后查找(lookaround),对某一位置的前后内容进行查找。其中的前后指模式与被查找文本的相对位置而言,左为前。
2.向前查找制定了一个必须匹配但不在结果中返回的模式。使用方式(?=),向前(左)匹配,返回匹配值不含=后内容。
3.向后查找操作符?<=
4.向前查找和向后查找通常用来匹配文本,其目的是为了确定将被返回为匹配结果的文本位置(通过指定匹配结果的前后必须是那些文本)。称“正向前查找”和“正向后查找”。
5.负前后查找:①负向前查找:向前查找不予给定模式匹配的文本,②负向后查找:向后查找不予给定模式匹配文本。
6.(?=)正向前查找;(?<=)正向后查找;(?!)负向前查找;(?<!)负向后查找;

第十章 嵌入条件
1.正则表达式里条件用?来定义。
  嵌入条件不外乎两种情况:①根据一个回溯引用来进行条件处理②根据一个前后查找来进行条件处理。
2.回溯引用条件定义语法?(backerference)tr-regex|false-regex
3.前后查找条件定义语法,与回溯基本一致(很少使用,有更简单方法)

转载于:https://www.cnblogs.com/DotNet-ChangTseng/archive/2011/03/28/1998090.html

《正则表达式必知必会》读书笔记相关推荐

  1. 读书笔记 | 墨菲定律

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  2. 读书笔记 | 墨菲定律(一)

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  3. 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记

    <洛克菲勒写给孩子的38封信>读书笔记 洛克菲勒写给孩子的38封信 第1封信:起点不决定终点 人人生而平等,但这种平等是权利与法律意义上的平等,与经济和文化优势无关 第2封信:运气靠策划 ...

  4. 股神大家了解多少?深度剖析股神巴菲特

    股神巴菲特是金融界里的传奇,大家是否都对股神巴菲特感兴趣呢?大家对股神了解多少?小编最近在QR社区发现了<阿尔法狗与巴菲特>,里面记载了许多股神巴菲特的人生经历,今天小编简单说一说关于股神 ...

  5. 2014巴菲特股东大会及巴菲特创业分享

     沃伦·巴菲特,这位传奇人物.在美国,巴菲特被称为"先知".在中国,他更多的被喻为"股神",巴菲特在11岁时第一次购买股票以来,白手起家缔造了一个千亿规模的 ...

  6. 《成为沃伦·巴菲特》笔记与感想

    本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 沃伦·巴菲特传记的纪录片 http://www.bilibili.co ...

  7. 读书笔记002:托尼.巴赞之快速阅读

    读书笔记002:托尼.巴赞之快速阅读 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<快速阅读>之后,我们就可以可以快速提高阅读速度,保持并改善理解嗯嗯管理,通过增进了解眼睛和大脑功能 ...

  8. 读书笔记001:托尼.巴赞之开动大脑

    读书笔记001:托尼.巴赞之开动大脑 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<开动大脑>之后,我们就可以对我们的大脑有更多的了解:大脑可以进行比我们预期多得多的工作:我们可以最 ...

  9. 读书笔记003:托尼.巴赞之思维导图

    读书笔记003:托尼.巴赞之思维导图 托尼.巴赞的<思维导图>一书,详细的介绍了思维发展的新概念--放射性思维:如何利用思维导图实施你的放射性思维,实现你的创造性思维,从而给出一种深刻的智 ...

  10. 产品读书《滚雪球:巴菲特和他的财富人生》

    作者简介 艾丽斯.施罗德,曾经担任世界知名投行摩根士丹利的董事总经理,因为撰写研究报告与巴菲特相识.业务上的往来使得施罗德有更多的机会与巴菲特亲密接触,她不仅是巴菲特别的忘年交,她也是第一个向巴菲特建 ...

最新文章

  1. ae编程语言as_AE开发 入门教程
  2. oracle 记录被另一个用户锁住
  3. Design Pattern Template Method C
  4. yum -y --downloadonly --downloaddir=/ruiy upggrde;
  5. 计算机自动化技术要学什么,【经验分享】PLC学习的5个阶段,自动化工程师看看你属于哪个阶段?...
  6. 华为交换机默认vlan都是通的吗_华为设备二层交换技术——Hybrid接口详解
  7. 连接器与加载器pdf_pdf转换为excel,你不会,同事点点鼠标2分钟就搞定了
  8. python借助missingno可视化分析缺失值
  9. 统治世界的十大算法(转)
  10. 数据结构与算法之树的遍历
  11. Android listview实现单选变化的效果
  12. matlab2010激活问题
  13. 密码编码学初探——传统加密技术
  14. ISP 因特网服务提供商
  15. LTspice基础教程-033.绘制电容阻抗特性曲线
  16. Linux 文本处理工具——sed
  17. “大中台、小前台”并非一招鲜,企业要做好这5大基础模块
  18. 利用原生写js满天星星
  19. 持续集成与持续部署(五)01-TravisCI——使用简介-Travis CI 只支持 Github,提供的是持续集成服务 配置项目的.travis.yml文件
  20. MTK联发科技股份有限公司(MediaTek.Inc)

热门文章

  1. vue全家桶+Koa2开发笔记(5)--nuxt
  2. PHP生成随机或者唯一字符串
  3. linux下vi命令大全[转]
  4. oracle 11g 的em启动不了
  5. 一个球从100m高度自由落下,第10次反弹多高
  6. Html5 学习系列(一)认识HTML5
  7. Web Office 常见问题解决方法
  8. 拥抱开源,Office 365开发迎来新时代
  9. CentOS安装EMACS文件夹树型图插件与颜色插件
  10. 从头认识Spring-2.3 注解装配-@autowired(5)-限定器@Qualifier(1)