grep -E "{Pattern}" 使用的是 ERE(Extended Regular Expressions,是一种扩展正则表达式语法,
在 grep -E 等工具中使用,支持 + | () {} 等更丰富的匹配语法,相比基础正则更简洁易读。| 分类 | 语法 / 示例 | 说明 |
|---|---|---|
| 任意字符 | . | 匹配任意单个字符(不含换行) |
| 重复(0+) | a* | 匹配 0 次或多次 a |
| 重复(1+) | a+ | 匹配 1 次或多次 a |
| 可选 | a? | 匹配 0 或 1 次 a |
| 范围重复 | a{2,5} | 匹配 2 到 5 次 a |
| 精确重复 | a{3} | 匹配恰好 3 次 a |
| 分组 | (abc)+ | 将 abc 作为一个整体进行重复 |
| 或(OR) | a|b | 匹配 a 或 b |
| 行首 | ^abc | 匹配以 abc 开头的内容 |
| 行尾 | abc$ | 匹配以 abc 结尾的内容 |
| 字符集合 | [abc] | 匹配 a / b / c 中的任意一个 |
| 取反集合 | [^abc] | 匹配不在 a / b / c 中的任意字符 |
| 范围 | [a-z] | 匹配指定范围内字符 |
| POSIX 字符类 | [[:digit:]] | 匹配数字(推荐,兼容性更好) |
| 组合类 | [[:alnum:]_] | 匹配字母、数字或下划线 |
| 转义字符 | \. | 将特殊字符转为字面量(如匹配“.”) |
| 连续匹配 | abc | 按顺序匹配 abc |
| 贪婪匹配 | a.*b | 尽可能多地匹配中间内容 |
| 嵌套组合 | (ab|cd)+ | 匹配 ab 或 cd 的重复组合 |
| 复杂示例 | ^[a-zA-Z0-9_]+$ | 匹配仅由字母、数字、下划线组成的字符串 |
| 注意事项 | * + ? 默认贪婪 | 不支持非贪婪模式(如 *?) |
| 注意事项 | 不支持 \d \w 等 | 应使用 POSIX 类替代(如 [[:digit:]]) |
| 注意事项 | () 用于分组 | ERE 中无需转义括号 |