学习方法 :3W1H
1.what什么是正则表达式?
作用和特殊字符一样。
正则表达式是为处理大量的字符串及文本而定义的一套规则和方法
2.why 为什么用?
提高效率,快速获取到想要的内容
3.where 在哪用?
适用于三剑客grep(egrep),sed,awk
4.how 怎么用?
实践来讲解
易混淆事项
1. 和通配符区别。
2. 开发正则,一般是Perl兼容正则表达式。
3. Linux系统三剑客正则表达式
分类
1. BRE 基本正则表达式 例:grep
^ 尖角号 以…开头,^oldboy 以oldboy开头
$ 美元符 以…结尾,oldboy$以oldboy结尾
^$ 空行
. 匹配任意一个且只有一个字符,和通配符?一样
\ 让有意义的字符还原本义
* 重复前面字符0次或多次
.* 所有内容
^.* 以任意字符开头
.*$ 以任意0个或多个字符结尾
[abc] 匹配[]内任意一个字符
[^abc] 匹配不包含^后的任意一个字符
2. ERE 扩展的正则表达式 例:egrep
+ 匹配前一个字符1次或1次以上
[:/]+ 匹配:或/ 一次或一次以上
?匹配一个字符0次或一次
a{n,m} 匹配前一个字符最少n次,最多m次
a{n,} 匹配前一个字符最少n次
a{n} 匹配前一个字符正好n次
a{,m} 匹配前一个字符最多m次
3. 特殊预定义中括号表达式:
4. 元字符表达式
\b 匹配单词边界 类似grep -w
\d 匹配单个数字字符 需用grep -P
三剑客
sed 流编辑器
-n取消命令的默认输出
-i直接修改文件内容,而不是输出到终端
sed 的内置命令字符
s 替换
g 全局
p 打印
d 删除
元字符:\b匹配单词边界 类似grep -w
\d匹配单个数字字符 需用grep -p