[关闭]
@rihkddd 2014-10-29T15:46:40.000000Z 字数 665 阅读 2004

《精通正则表达式》读书笔记

读书笔记 正则表达式


第一章:正则表达式入门

正则表达式是用来处理文本的有力工具,正则表达式是一个通用的模型,再很多编程语言和文本编辑器中都有支持。

正则表达式的思考方式

一个有用的命令:egrep,通过指定-i参数可以忽略大小写。

  1. egrep -i '^(From|Subject):' mailbox.txt

元字符

就是一个字符,也是正则表达式匹配的最小单位。
元字符总结:

元字符 名称 作用
^ 托字符 锚定行首位置
$ 美元符 锚定行尾位置
\< 反斜杠-小于 锚定单词的开始位置
\> 反斜杠-大于 锚定单词的结束位置
| 竖线 匹配|两边的任意一个分支
(...) 括号 限定作用范围
. 点号 单个任意字符占位符
[...] 字符组 匹配[]中列出的单个字符,可以使用连字符表示范围
[^...] 排除型字符组 匹配为不等于列出字符的单个字符

量词总结

\quad 重复次数 含义
? [0,1] 可以不出现,也可以只出现一次
+ [1,\infty] 至少出现1次,至多不限
* [0,\infty] 可以不出现,也可以出现任意多次
{m,n} [m,n] 至少出现m次,至多出现n次

反向引用

问题,匹配连续出现的重复单词。
反向引用可以匹配与先前部分匹配一样的文本。
用法:把需要引用的部分用小括号括起来,然后用\i(i为需要引用的()的序号)。
eg:\<([A-Za-z]+) +\1>即可实现匹配连续出现的重复单词。

转义

如果要匹配的内容里面有元字符,那么元字符的匹配需要使用转义符号\

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注