正则表达式
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} |
| \d | 数字 | |
| \D | 非数字 | |
| \w | [0-z]即[0-9A-Za-z] | |
| \W | 非数字或字母大小写 | |
| \s | 一个空白字符(空格、tab、换页符等) | |
| \S | 非空白字符 | |
- 示例
使用 () 和 {} 要 \ 转义
示例:grep的正则应用
2. 扩展正则
| 正则 | 注释 | 举例 |
|---|---|---|
| + | 匹配一个或多个前导 | [a-z]+ove |
| ? | 匹配0个或1个前导 | |
| a|b | 匹配a或者b |
标准正则中的 ()和 { } ,在扩展正则中如果外边加了引号,不需要再加反斜杠转义,如:
x{m},x{m,},x{m,n}
示例:grep的扩展正则:
3. POSIX字符类
| 表达式 | 功能 | 示例 |
|---|---|---|
| [:alnum:] | 字母与数字字符 | [[:alnum:]]+ |
| [:alpha:] | 字母字符(包括大小写字母) | [[:alpha:]]{4} |
| [:blank:] | 空格与制表符 | [[:blank:]]* |
| [:digit:] | 数字字母 | [[:digit:]]? |
| [:lower:] | 小写字母 | [[:lower:]]{5,} |
| [:upper:] | 大写字母 | [[:upper:]]+ |
| [:punct:] | 标点符号 | [[:punct:]] |
| [:space:] | 空白(含括换行符,回车) | [[:space:]]+ |



浙公网安备 33010602011771号