《精通正则表达式》笔记 之 基础知识
2010-08-12 23:42
190 查看
《精通正则表达式》
1. 匹配位置而非具体文本:
^ 脱字符号,匹配一行的开始
$ 美元符号
2. 匹配字符组 []
字符组元字符 "-"连字符 <H[1-6]> 等价于 <H[123456]>
注意: 1. 连字符只在匹配字符组的[]中有意义,其它时候用来匹配-字符;
2. ".""?"在字符数据中时,不作为元字符使用;
3. 排除型字符组
[^a] 匹配不包括a的字符
4. 多选结构
匹配子表达式,元字符 "|",表示或,以下三式等价:
[Tt]enyuan
(T|t)enyuan
Tenyuan|tenyuan
注意:多选结构和字符组的区别,前者匹配目标文本的单个字符;而多选结构的每个分支都可以是完整的正则表达式;
5. 单词分界符
/<ten 匹配以ten开头的单词
yuan/> 匹配以yuan结尾的单词
<和>本身并非元字符,和/结合起来之后整个序列称为元字符序列
6. 量词(用来表示个数):? + *
? 表示可选项元素 colou?r匹配colour或者color
或者R(egular)?E(xpression)?匹配RE或者RegularE或者RExpression或者RegularExpression
+ 匹配一次或者多次 {1,}
* 匹配0次或多次 {0,}
? 匹配0次或一次 {0,1}
区间量词:{m, n}
7. 反向引用(backreference, 回引):匹配与表达式先前部分匹配的相同的文本
在文本中查找连续两个相同的单词:/<([a-zA-z]+)/s+/1/>
这里的/1代表前面括弧中的内容
注意:用/1,/2,/3表示第一、第二、第三组括号匹配的文本——按开括号的顺序;
8. 转义字符:/
匹配元字符
9. 简记法
/w [0-9a-zA-Z],
/s 空白字符,制表符、空格符
/d [0-9]
1. 匹配位置而非具体文本:
^ 脱字符号,匹配一行的开始
$ 美元符号
2. 匹配字符组 []
字符组元字符 "-"连字符 <H[1-6]> 等价于 <H[123456]>
注意: 1. 连字符只在匹配字符组的[]中有意义,其它时候用来匹配-字符;
2. ".""?"在字符数据中时,不作为元字符使用;
3. 排除型字符组
[^a] 匹配不包括a的字符
4. 多选结构
匹配子表达式,元字符 "|",表示或,以下三式等价:
[Tt]enyuan
(T|t)enyuan
Tenyuan|tenyuan
注意:多选结构和字符组的区别,前者匹配目标文本的单个字符;而多选结构的每个分支都可以是完整的正则表达式;
5. 单词分界符
/<ten 匹配以ten开头的单词
yuan/> 匹配以yuan结尾的单词
<和>本身并非元字符,和/结合起来之后整个序列称为元字符序列
6. 量词(用来表示个数):? + *
? 表示可选项元素 colou?r匹配colour或者color
或者R(egular)?E(xpression)?匹配RE或者RegularE或者RExpression或者RegularExpression
+ 匹配一次或者多次 {1,}
* 匹配0次或多次 {0,}
? 匹配0次或一次 {0,1}
区间量词:{m, n}
7. 反向引用(backreference, 回引):匹配与表达式先前部分匹配的相同的文本
在文本中查找连续两个相同的单词:/<([a-zA-z]+)/s+/1/>
这里的/1代表前面括弧中的内容
注意:用/1,/2,/3表示第一、第二、第三组括号匹配的文本——按开括号的顺序;
8. 转义字符:/
匹配元字符
9. 简记法
/w [0-9a-zA-Z],
/s 空白字符,制表符、空格符
/d [0-9]
相关文章推荐
- [学习笔记]servlet基础知识整理
- Java基础知识强化之IO流笔记82:NIO之 Pipe(管道)
- Java基础知识强化之IO流笔记83:NIO与IO
- java基础知识笔记
- Java基础知识学习笔记总结
- 黑马程序员ava学习笔记——java语法基础知识
- 【安卓小笔记】应用基础知识
- java基础知识(个人笔记)
- JAVA基础知识笔记(第三章)
- (分享)笔记C#基础知识
- oracle基础知识笔记
- 前端学习笔记--jQuery--基础知识--DOM篇
- Android笔记 一Android基础知识 摘自第一行代码Android
- 正强学习笔记之JDBC基础知识
- css基础知识笔记整理
- 【学习笔记四】C语言基础知识复习
- Python-OpenCV学习笔记(一):基础知识汇总
- Linux学习笔记1:基础知识
- php学习笔记之基础知识
- Java基础知识强化之IO流笔记03:throws的方式处理异常