正则表达式

. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线
\s 匹配任意的空白符
\d 匹配数字 等价于[0-9]
\D 匹配非数字字符
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
其中,[^A-Z]表示除了不包含大写字母,^取反;^[A-Z]表示以大写字母开头

一、正则单字符表示方式

1、特定字符 ‘X’
例子:匹配包括字母a的行 grep ‘a’ passwd

2、范围字符 [] [^]
例子:匹配包含数字或小写字母的行 grep ‘[0-9a-z]’ passwd
匹配不包含数字的行 grep ‘[^0-9]’ passwd

3、任意字符 .
例子:匹配所有字符 grep ‘.’ passwd
注意和’[.]‘和’.‘的区别:’[.]‘表示范围内包含.字符串,’.'代表.这个字符串本身

二、正则表达式其他符号

1、边界字符:头尾字符
^ : ^root 表示匹配以root字符串开头的行
例子:grep ‘^root’ passwd
注意和[^]的区别: [^]表示取反

$ : bash$ 表示匹配以bash结束的行
例子:`grep 'bash$' passwd`
^$ : ^$ 表示空行
例子:`grep '^$' passwd`

2、元字符
\w:匹配任何字符类字符,包括下划线([A-Za-z0-9])
\W:匹配任何非字符类的字符。([^A-Za-z0-9])
\b: 代表单词的分隔

三、正则组合-重复字符表示

1、重复
*:零次或多次匹配前面的字符或子表达式
+:一次或多次匹配前面的字符或表达式
?:零次或一次匹配前面的字符或表达式
2、重复特定次数:{n,m}
例子:数字重复2到3次
grep ‘[0-9]{2,3}’ passwd

四、正则组合-逻辑符合表示

1、任意字符串的表示:.*
例子:匹配r开头的行 ^r.*
例子:匹配m开头c结束的字符串 m.*c
例子:匹配m开头c结尾的行 ^m.*c$
2、逻辑或的表示: |
例子:匹配bin后面可能接’false’或’true’的行

grep 'bin/\(false\|true\)' passwd

五、案例

案例一
匹配4-10位的QQ号 grep '^[0-9]\{4,10\}$' qq.txt
案例二
匹配15位或18位的身份证号(支持带X的)grep '^[0-9]\([0-9]\{13\}\|[0-9]\{16\}\)[0-9xX]$' passwd

六、总结

在这里插入图片描述

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值