三 剑 客
1.三剑客正则表达式
1.1 为何使用正则表达式
1.11 取出文件中正确的身份证号码 1.12 帮助我们快速过滤
1.2 正则表达式分类
1.21 基础正则表达式 (BRE basic regular expression)
^ $ . * [] [^]
1.22 扩展正则表达式 (ERE extended regular expression)
| + () {} ?
1.3 正则与通配符区别
1.31 通配符
作用:查找文件名
支持的命令:Linux大部分命令都支持 以.txt结尾的文件
1.32 正则
作用:在文件中过滤内容 支持的命令:三剑客sed,grep,awk Python Java
1.4 使用正则表达式注意事项
1.41 正则表达式按照行为单位处理
1.42 正则神坑-中文符号
‘’ “” () 。 * …… ¥ | {} 【】 '' "" () . * ^ $ | {} []
1.43 grep/egrep添加别名
alias grep='grep --color=auto' alias egrep='egrep --color=auto' cat >>/etc/profile<<EOF alias grep='grep --color=auto' alias egrep='egrep --color=auto' EOF source /etc/profile
1.5 基础正则
1.51 第1个符号 ^ 以....开头的行 ^m
1.52 第2个符号 $ 以....结尾的行 m$
1.53 第3个符号 ^$ 空行 什么符号都没有
1.54 第4个符号 . 任意一个字符 不会匹配空行
1.55 第5个符号- \ 撬棍 转义字符 脱掉马甲打回原形
\n 回车换行 tr
1.56 第6个符号 * 前一个字符连续出现了0次或0次以上
1.57 第7个符号- .* 所有 任何符号 包含空行
.*所有符号 任何符号 连续出现的字符 有多少匹配多 正则表达 所有符号 或 连续出现 会表现出贪婪性
1.58 第8个符号- [] [abc] 相当于是一个符号(每次匹配1个字符) 找出包含a或b或c
() 小括号 [] 中括号 {} 大括号 花括号
1.59 第9个符号- [^] [^abc] 相当于是一个符号(每次匹配1个字符) 找出除了a或除了b或除了c
1.6 扩展正则
1.61 第10个符号- + 前一个字符连续出现1次或1次以上
1.62 第11个符号- | 或者
1.63 第12个符号- () 表示一个整体 反向引用/后向引用
1.64 第13个符号- {} 0{n,m} 前一个字符至少连续出现n次,最多连续出现了m次
1.65 第14个符号- ? 前一个字符连续出现0次或1次
1.7 基础正则与扩展正则区别
1.71 符号不同
1.72 支持的命令不同
BRE grep/sed/awk ERE egrep/grep -E/sed -r/awk