bash通配符
?:单字符通配
*:多字符通配符
[]:括号条件内匹配
通配符是完全匹配;
正则是包含匹配
anaconda-ks.cfg
是安装信息
grep awk sed等命令可以使用正则表达式(linux三大利器)
ls find cp 不能使用正则,只能使用通配符
正则表达式
查找 | 测试 |
---|---|
取出 | 测试 |
匹配 | 测试 |
特定字符
字符 范围内字符
任意字符
特定字符
范围内字符
[]
[0-9]
[a-z]
[A-Z]
[a-zA-Z]
[,:_/]
反向字符^
取反:[^0-9]
任意字符
.
tips:
[.]:取本身字符.
.:转义,还是表达字符.
边界字符:头尾字符
^: ^root 表示以其开头
\$: false$ 表示以其结尾
空行的表示:^$
元字符(代表普通字符或特殊字符)
\w:匹配任何字类字符,包括下划线([a-zA-Z0-9])
\W:匹配任何非字类字符,包括下划线([a-zA-Z0-9])
\b:单词分隔符 \bx\b
正则表达式字符组合
字符串
‘root’ ‘passwd’ ‘pa..wd’
[A-Z][a-z] ‘[0-9][0-9]’
tips:正则表达式的坑:最大匹配原则,既包含原则,结果超出预期,增加限定符
增则表达式字符组合
字符串 重复
逻辑
重复
*:0次或多次,匹配前面的字符或子表达式
+:一次或多次,匹配前面的字符或子表达式(使用需要用转义字符)
?:0次或一次,匹配前面的字符或子表达式
重复特定次数:{n,m}
*:{0,}
+:{1,}
?:{0,1}
任意字符串的表示:.
例如:^r. m.*c
tips:正则坑2:贪婪匹配方式,尽可能匹配,能有多长匹配多长
逻辑的表示
|:’/bin(false|true)‘
4-10位qq号
[0-9]
15或18位身份证(处理x)