1. 标准正则
正则 | 注释 | 举例 |
---|---|---|
^ | 行首定位符 | |
$ | 行尾定位符 | |
. | 单个字符,非前导符 | |
* | 前导符出现0到多次 | |
[ ] | 匹配指定范围内的一个字符 | [lL]ove |
[ - ] | 匹配指定范围内的一个字符 | [a-z]ove |
[^] | 匹配不在指定组内的字符 | |
\ | 转义 | |
< | 词首定位符 | \ |
> | 单词的结尾 | |
(..) | 字符标签 | (love)able\1er |
x{m} | 字符x重复出现m次 | o{5} |
x{m,} | 字符x重复出现 m次以上 | o{5,} |
x{m,n} | 字符x重复出现 m到n次 | o{5,10} |
- 示例
使用 () 和 {} 要 \ 转义
示例:grep的正则应用
image.png
2. 扩展正则
正则 | 注释 | 举例 |
---|---|---|
+ | 匹配一个或多个前导 | [a-z]+ove |
? | 匹配0个或1个前导 | |
a|b | 匹配a或者b |
标准正则中的 ()和 { } ,在扩展正则中如果外边加了引号,不需要再加反斜杠转义,如:
x{m}
,x{m,}
,x{m,n}
示例:grep的扩展正则:
image.png
3. posix字符类
表达式 | 功能 | 示例 |
---|---|---|
[:alnum:] | 字母与数字字符 | [[:alnum:]]+ |
[:alpha:] | 字母字符(包括大小写字母) | [[:alpha:]]{4} |
[:blank:] | 空格与制表符 | [[:blank:]]* |
[:digit:] | 数字字母 | [[:digit:]]? |
[:lower:] | 小写字母 | [[:lower:]]{5,} |
[:upper:] | 大写字母 | [[:upper:]]+ |
[:punct:] | 标点符号 | [[:punct:]] |
[:space:] | 空白(含括换行符,回车) | [[:space:]]+ |