正则表达式(REGULAR EXPRESSIONS)

匹配操作符
  • 转义字符:\
  • 匹配任意单个字符:.
  • 字符序列单字符占位:[1249a],[^12],[a-k]
  • 行首:^
  • 行尾:$
  • 单词首尾边界:<,>,:,<abc
  • 连接操作:|
  • 选择操作符:(,)
  • 反向引用:\n
重复操作符:
  • 匹配0或1次:?
  • 匹配0到多次:*
  • 匹配1或多次:+
  • 匹配n次:{n}
  • 匹配n到多次:{n,}
  • 匹配n到m次:{n,m}
以下符号是扩展表达式,使用需要加"\"

“?” “+” “{” “}” “|” “(” “)”

匹配任意字符

.*

eg01:匹配包含单词以apple开头的行

[root@node01 ~]# grep "\<apple" exp.txt

eg02:匹配包含单词以apple结尾的行

[root@node01 ~]# grep "apple\>" exp.txt

eg03:匹配含有apple单词的行

[root@node01 ~]# grep "\<apple\>" exp.txt

eg04:匹配任意字符的使用:.*

[root@node01 ~]# grep ".*apple.*pear.*banana" exp.txt
abcapple123pearbbbbbananaqqqadf

eg05:选择操作符:(,)

[root@node01 ~]# grep ".*\(apple\).*\(pear\).*\1.*\2" exp.txt 
qwerappletyuipearasdfapplezxcvbpearhjkl

eg06:匹配文件中包含四位整数的文本行

  • 写法一
    将每一种包含四位整数的情况用“|”连接起来
[root@node01 ~]# grep -E  "^[0-9]{4}[^0-9]|[^0-9][0-9]{4}[^0-9]|[^0-9][0-9]{4}$|^[0-9]{4}$" exp.txt
  • 写法二
    以一个四位整数为整体分隔成三部分,左边可以是以数字开头也可以是非数字开头(但后面必须有一位数字),中间是两位数字,右边可以是数字结尾或者是非数字结尾(但必须在最前面有一位数字)
[root@node01 ~]# grep -E "(^[0-9]|[^0-9][0-9])[0-9]{2}([0-9]$|[0-9][^0-9])" exp.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值