1.正则表达式的特性
| 贪婪性:正则表达式在表示所有或连续字符的时候,会最大程度匹配;既连续匹配,凡是符合要求的都匹配; |
2.基础正则表达式(BRE)
| 符号 | 含义 |
|---|---|
| ^字符 | 以指定内容开头 |
| 字符$ | 以指定内容结尾 |
| ^$ | 空行 |
| . | 任意单个字符(默认不匹配空行) |
| * | 前一个字符连续出现0次及0次以上 |
| .* | 所有 |
| [ ] | 单个字符的逻辑或(默认不匹配空行,括号内的字符不具备特殊含义) |
| [^ ] | 括号内字符取反(^必须在括号内首位,默认不匹配空行) |
| [ ]相当于一个符号(每次匹配1个字符)
[a-z] 表示匹配所有小写字母
[A-Z] 表示匹配所有大写字母
[0-9] 表示匹配所有数字
[a-Z] 表示匹配所有字母(非通用用法)
[0-Z] 表示匹配所有字母和数字(非通用用法)
|
3.扩展正则表达式(ERE)
| 符号 | 含义 |
|---|---|
| | | 或 |
| 字符+ | 前1个字符连续出现1次或1次以上 |
| ( ) | 表示整体或用于sed的后向引用 |
| 字符{ } | 前一个字符重复出现的次数范围 |
| 字符? | 前一个字符出现0次或1次 |
| { }
a{m,n} a连续出现至少m次,至多n次
a{m} a连续出现m次
a{m,} a连续出现至m次,至多不限
a{,n} a连续出现至多n次
|
4.正则表达式与通配符的区别
| 作用 | 支持的命令 | |
|---|---|---|
| 通配符 | 方便我们进行查找文件 | Linux下面大部分命令 |
| 正则 | 方便我们进行过滤(在文件中搜索指定内容) | awk sed grep find 以及开发语言 |
附:思维导图

未完待续...