一 基础正则表达式
![](https://i-blog.csdnimg.cn/blog_migrate/b68753504f7c82ac0f5941af92b9a1a0.png)
?和()是扩展正则。
二 “*”前一个字符匹配0次,或任意多次
![](https://i-blog.csdnimg.cn/blog_migrate/596e2d1a4500c6e79d96a0a05e1b2f5d.png)
三 “.”匹配除了换行符外任意一个字符
![](https://i-blog.csdnimg.cn/blog_migrate/911dcf2a91721f0015e73f9699fdf925.png)
四 “^”匹配行首,“$”匹配行尾
![](https://i-blog.csdnimg.cn/blog_migrate/54b06df8917a4bfc5f4a1bca70b10e45.png)
五 “[]”匹配中括号中指定的任意一个字符,只匹配一个字符
![](https://i-blog.csdnimg.cn/blog_migrate/1b9cf948abdc3ca67e11a9df44974e95.png)
六 “[^]”匹配除中括号的字符以外的任意一个字符
![](https://i-blog.csdnimg.cn/blog_migrate/9f32f14de1d56a9c0295e11caaf9ecc9.png)
七 “\”转义符
“\.$”
匹配使用“.”结尾的行
八 “\{n\}”表示其前面的字符恰好出现n次
![](https://i-blog.csdnimg.cn/blog_migrate/8879b472adcf343760ca06bb4c9ed615.png)
九 “\{n,\}”表示其前面的字符出现不小于n次
![](https://i-blog.csdnimg.cn/blog_migrate/98a9f1d2a419279701cd2ba255da675d.png)
十 “\{n,m\}”表示其前面的字符至少出现n次,最多出现m次
![](https://i-blog.csdnimg.cn/blog_migrate/0920f1306340a3220a3b82e14e1f7cb2.png)
十一 范例文档
a
aa
aaa
aaaa
aaaaa
c
cc
xcccu
xccccu
xcccccu
said
soid.
suud
soooooooooood.
12345
5678
7832
bbbbbb45bbbb
6aaaaaaaaaaaa
ab
aabb
十二 匹配日期和IP
[root@localhost ~]# grep "[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}" test.txt
2016-02-14
[root@localhost ~]# vim test.txt
[root@localhost ~]# grep "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" test.txt
192.108.4.2
194.6.3.98