《正则表达式必知必会》 笔记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《正则表达式必知必会》 笔记相关的知识,希望对你有一定的参考价值。

笔记说明:  在本笔记里  所有正则表达式 都嵌套在 【】  (中文字符里)
 
目录
          • 第1章 正则表达式入门
正则表达式 (regular expression ,简称 regex)。
正则表达式 用在 搜索 和 替换 。
定义: 一些用来匹配和处理文本的字符串。    (字符串 ====》 用来匹配和处理文本)
 
          • 第2章 匹配单个字符
2.1匹配纯文本
【http】 。
javascript里, 【g】 global 全局,将返回一个包含着所有匹配结果的数组
                         【i】 强制执行一次不区分大小的执行
2.2匹配任意字符
【.】  匹配任意一个单字的字符   字母 数字 字符 甚至. 本身
 
2.3匹配特殊字符
 【\】  
          • 第3章 匹配一组字符
3.1匹配多个字符中的某一个
【[ ]】  表示一个字符集合。【[ns]】 表示这个集合将匹配字符n或s
3.2利用字符集合区间
【[ns]a[0123456789]\.xls】表示:第一个字符必须是n或s,第二个字符必须是a,第三个字符可以是任意一个数字,第四部分必须是.xls
【[a-f]】表示匹配小写字母a到f的任意一个字符   【[ - ]】 代表from to  。另注意是ASCII的顺序。 
3.3取非匹配
除了那个字符集合里的字符,其他字符都可以匹配
【[^0-9]】
          • 第4章 使用一组元字符
4.1对特殊字符进行转义
4.2匹配空白字符
????????????????
【\r\n\r\n】 windows
【\n\n】      linux unix
4.3匹配特定的字符类别
【\d】 任何一个数字字符   等价于【[0-9]】
【\D】 然后一个非数字字符  等价于【[^0-9]】
【\w】 任何一个字母数字字符或下划线字符 等价于【[a-zA-Z0-9_]】
【\W】任何一个 非字母数字或非下划线字符 等价于【[^a-zA-A0-9_]】
【\s】  任何一个空白字符 等价于【[\f\n\r\t\v]】
【\S】 任何一个非空白字符 等价于【[^\f\n\r\t\v ]】
          • 第5章 重复匹配
5.1有多少个匹配
【+】 表示匹配同一个字符(或字符合集)的多次重复
【a+】 表示匹配一个或多个连续出现的a
【*】 表示匹配零次或一次或多次连续出现,
【[?]】 表示匹配零次或一次
5.2匹配重复次数
【{}】重复次数
5.3防止过度匹配
【*】【+】【{n,}】 都是贪婪型元字符,在进行匹配时是多多益善而不是适可而止的。它们会尽可能从一段文本的开头一直匹配到这段文本的末尾,而不是从这段文本的开头匹配到碰到的第一个匹配时为止。
【*?】
【+?】
【{n,}?】
 
 
          • 第6章 位置匹配
6.1边界
6.2单词边界
【\b】 匹配单词的边界
【\bcat\b】整个单词 【cat\b】单词的结束 【\bcat】单词的开头
【\B】 匹配不上单词边界
6.3字符串边界
【^】 字符串的开头(位于字符集合的外面并位于一个模式的开头,将匹配字符串开头)     // 注意 【^】 只有这个放在【[^   ]】的时候才是求非操作
【$】 字符串的结尾
【(?m)】 表示分行匹配。使用时必须出现在整个模式开头
 
          • 第7章 使用子表达式
7.1什么是子表达式(subexpression)
7.2子表达式 
当作独立元素来使用,且用【()】括起来
7.3子表达式的嵌套
 
          • 第8章 回溯引用
8.1回溯引用有什么用
举个例子 在标签配对查找时
8.2回溯引用匹配
回溯引用允许正则表达式模式引用前面的匹配结果
 
8.3回溯引用在替换操作中的应用
 
          • 第9章 前后查找
9.1前后查找
9.2向前查找
【?=】以这个开头的子表示,需要匹配的文字跟在=后面
9.3向后查找
【?<=】
9.4把向前查找和向后查找结合起来
eg. 【(?<=<[tT][iI][tT][lL][eE]>).*(?=</[tT][iI][tT][lL][eE] >)】匹配标签 title和之间的内容
9.5对前后查找取非
【?!】    把= 换成 !
【?<!】
 
          • 第10章 嵌入条件
10.1为什么要嵌入条件
10.2正则表达式里的条件
根据一个回溯引用来进行条件处理
【(?(backreference)true-regex)】其中?表明这是一个条件
根据一个前后查找来进行条件处理
 
 
后三章还有例子没有整理。未完待续。。。
 
 
 
 
 

以上是关于《正则表达式必知必会》 笔记的主要内容,如果未能解决你的问题,请参考以下文章

《正则表达式必知必会》 笔记

正则表达式必知必会读书笔记

《正则表达式必知必会》读书笔记

更新完毕正则表达式必知必会读书笔记

更新完毕正则表达式必知必会读书笔记

MySQL必知必会读书笔记-2(去重,limit,结果的排序,通配符,正则表达式)