1. Linux正则表达式完全指南:从入门到实战精要
作为在Linux系统摸爬滚打十多年的老运维,我处理过无数文本过滤、日志分析的场景。今天要分享的正则表达式(Regular Expression),就是每个Linux用户必须掌握的"生存技能"。它不仅是grep/sed/awk三剑客的灵魂,更是高效处理文本的瑞士军刀。下面这些实战经验,都是我在生产环境中用血泪教训换来的。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
1. 正则表达式基础认知
1.1 什么是正则表达式
正则表达式本质上是一种字符串匹配的模式描述语言。就像用通配符*.txt匹配文件那样,但能力强大百倍。比如要从500MB的日志中提取所有符合"2023年以1开头的手机号",用普通文本查找根本不可能,而正则表达式只需一行模式就能搞定。
1.2 正则表达式分类
Linux中主要存在两种正则引擎:
- 基本正则表达式(BRE):grep默认使用的老式语法,需要转义某些元字符
- 扩展正则表达式(ERE):egrep/grep -E使用的现代语法,元字符无需转义
bash复制# BRE需要转义+
grep "a\+b" file.txt
# ERE直接使用+
egrep "a+b" file.txt
2. 元字符详解与实战
2.1 基础元字符速查表
| 元字符 | 作用 | 示例 | 匹配案例 |
|---|---|---|---|
| . | 匹配任意单个字符 | a.c | abc, aXc |
| ^ | 匹配行首 | ^hello | hello world |
| $ | 匹配行尾 | world$ | hello world |
| * | 前导字符出现0次或多次 | ab*c | ac, abc, abbbc |
| [] | 字符集合 |
