Linux——正则表达式2
接着上一节的学习,我们接下来将正则表达式的后半部分将全部学完。
正则表达式字符组合:
字符串,比如: 'root' 、 '1000' 、 'm..c'
字符串的重复与逻辑===>组合表达式
重复
- *:零次或多次匹配前面的字符或子表达式
- +:一次或多次匹配前面的字符或子表达式
- ?:零次或一次匹配前面的字符或子表达式
重复特定次数:{n,m}

- *:{0,}
- +:{1,}
- ?:{0,1}
任意字符串的表示: .*
例如: ^r.* m.*c
注意与 m..c的区别
注意与 m..c的区别
逻辑的表示
| :'bin/\(false\|true\)'
| :'bin/\(false\|true\)'
正则表达式案例
案例一:匹配4到10位的QQ号
grep '^[0-9]\{4,10\}$' qq.txt
案例一:匹配4到10位的QQ号
grep '^[0-9]\{4,10\}$' qq.txt
案例二:匹配15位或18位身份证号(支持带X)
grep '[1-9]\([0-9]\{13\}|[0-9]\{16\}\)[0-9xX]' qq.txt
grep '^[1-9]\([0-9]\{13\}|[0-9]\{16\}\)[0-9xX]$' qq.txt
grep '[1-9]\([0-9]\{13\}|[0-9]\{16\}\)[0-9xX]' qq.txt
grep '^[1-9]\([0-9]\{13\}|[0-9]\{16\}\)[0-9xX]$' qq.txt
案例三:匹配密码(由数字、26个字母和下划线组成)
grep '^\w\+$' qq.txt