Linux——正则表达式2

接着上一节的学习,我们接下来将正则表达式的后半部分将全部学完。

正则表达式字符组合:

字符串,比如: 'root' 、 '1000' 、 'm..c'

Linux——正则表达式2

Linux——正则表达式2

Linux——正则表达式2

字符串的重复与逻辑===>组合表达式

Linux——正则表达式2

重复

  • *:零次或多次匹配前面的字符或子表达式
  • +:一次或多次匹配前面的字符或子表达式
  • ?:零次或一次匹配前面的字符或子表达式
Linux——正则表达式2
Linux——正则表达式2
Linux——正则表达式2
Linux——正则表达式2
重复特定次数:{n,m}
  • *:{0,}
  • +:{1,}
  • ?:{0,1}
Linux——正则表达式2
任意字符串的表示: .*
例如: ^r.*  m.*c
注意与 m..c的区别
Linux——正则表达式2
逻辑的表示
| :'bin/\(false\|true\)'
Linux——正则表达式2
正则表达式案例
案例一:匹配4到10位的QQ号
grep '^[0-9]\{4,10\}$' qq.txt
Linux——正则表达式2
案例二:匹配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
Linux——正则表达式2
案例三:匹配密码(由数字、26个字母和下划线组成)
grep '^\w\+$' qq.txt
Linux——正则表达式2

正则表达式的总结:

Linux——正则表达式2