正则表达式必知必会学习笔记
@(正则表达式)[regex,正则表达式,正则]
基本概述
《正则表达式必知必会》是一本很薄的书,花了两个小时左右将全书通读了一遍。这本书基本将正则表达式的常用知识记录了下来,想对正则表达式有个大概的认识可以看看。如果想更深入的学习正则表达式,可以看看这本书引言推荐的《精通正则表达式(第3版)》。该书最后一页的表格可谓是整本书的精华所在,特将其抄录下来,方便参考。
表格
基本的元字符
元字符 | 说明 | 章 |
---|---|---|
. |
匹配任意单个字符 | 2 |
| |
逻辑或操作符 | 3 |
[] |
匹配字符集合中的一个字符 | 3 |
[^] |
对字符集合求非 | 3 |
- |
定义一个区间(例如[A-Z]) | 3 |
\ |
对下一个字符转义 | 2 |
数量元字符
元字符 | 说明 | 章 |
---|---|---|
* |
匹配前一个字符(子表达式)的零次或多次重复 | 5 |
*? |
* 的懒惰型版本 |
5 |
+ |
匹配前一个字符(子表达式)的一次或多次重复 | 5 |
+? |
+ 的懒惰型版本 |
5 |
? |
匹配前一个字符(子表达式)的零次或一次重复 | 5 |
{n} |
匹配前一个字符(子表达式)的n 次重复 |
5 |
{m,n} |
匹配前一个字符(子表达式)至少m 次且至多n 次重复 |
5 |
{n,} |
匹配前一个字符(子表达式)n 次或更多次重复 |
5 |
{n,}? |
{n,} 的懒惰型版本 |
5 |
位置元字符
元字符 | 说明 | 章 |
---|---|---|
^ |
匹配字符串的开头 | 6 |
\A |
匹配字符串的开头 | 6 |
$ |
匹配字符串的结束 | 6 |
\Z |
匹配字符串的结束 | 6 |
\< |
匹配单词的开头 | 6 |
\> |
匹配单词的结束 | 6 |
\b |
匹配单词边界(开头和结束) | 6 |
\B |
\b 的反义 |
6 |
特殊字符元字符
元字符 | 说明 | 章 |
---|---|---|
[\b] |
退格字符 | 4 |
\c |
匹配一个控制字符 | 4 |
\d |
匹配任意数字字符 | 4 |
\D |
\d 的反义 |
4 |
\f |
换页符 | 4 |
\n |
换行符 | 4 |
\r |
回车符 | 4 |
\s |
匹配一个空白字符 | 4 |
\S |
\s 的反义 |
4 |
\t |
制表符(Tab字符) | 4 |
\v |
垂直制表符 | 4 |
\w |
匹配任意字母数字字符或者下划线字符 | 4 |
\W |
\w 的反义 |
4 |
\x |
匹配一个十六进制数字 | 4 |
\0 |
匹配一个八进制数字 | 4 |
回溯引用和前后查找
元字符 | 说明 | 章 |
---|---|---|
() |
定义一个子表达式 | 7 |
\1 |
匹配第1 个子表达式;\2 代表第2 个子表达式,依次类推 |
8 |
?= |
向前查找 | 9 |
?<= |
向后查找 | 9 |
?! |
负向前查找 | 9 |
?<! |
负向后查找 | 9 |
?() |
添加(if then) | 10 |
?()| |
条件(if then else) | 10 |
大小写转换
元字符 | 说明 | 章 |
---|---|---|
\E |
结束\L 或\U 转换 |
8 |
\l |
把下一个字符转换为小写 | 8 |
\L |
把后面的字符转换为小写,直到遇见\E 为止 |
8 |
\u |
把下一个字符转换为大写 | 8 |
\U |
把后面的字符转换为大写,直到遇见\E 为止 |
8 |
匹配模式
元字符 | 说明 | 章 |
---|---|---|
(?m) |
分行匹配模式 | 6 |
——-参考 《正则表达式必知必会》