linux正则表达式
Posted 狼太白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux正则表达式相关的知识,希望对你有一定的参考价值。
字符
范围内字符单个字符: [ ] [a-z]
反向字符^: [^ 0-9]不是数字
任意字符:\' . \'
头尾字符: ^ $, ^root //注意与[^]区别,空行表示^$
元字符和重复设定:
字符组合:
任意字符串的表示: . *
.代表任意一个字符,*代表多个字符,正则表达式就是最大的范围,这需要按照自己的想要的结果去加条件变小范围。
逻辑表示:
| 逻辑或
grep \'bin/\\(false\\|true\\)\' passwd
例子:
在passwd文件中匹配2-3位数字
这里面含有数字[0-9],重复{,},分隔符/b /b
案例2:
匹配15位或18位身份证号(支持带X的)
因为身份证号首位不能为0,最后一位可以带有X的,中间就有13-16位重复,^$代表首和尾
grep \'^[1-9]\\([0-9]\\{13\\}|[0-9]\\{16\\}\\)[0-9xX]$\' 文件
案例3:
匹配密码(由字母,数字,下划线组成)
grep \' ^\\w\\+$\' 文件
总结图:
以上是关于linux正则表达式的主要内容,如果未能解决你的问题,请参考以下文章