正则表达式之grep

匹配

* 表示匹配任意0个或者多个字符
a* 表示匹配0个或者任意个a
aa* 表示匹配1个或者多个a
aaa* 表示至少匹配2个a
. 表示匹配任意一个字符
[abc] 表示匹配a或者b或者c中任意一个字符
[a-z] 表示匹配任意一个小写字符
[0-9] 表示匹配任意一个数字
"^"   表示匹配行首
"$"   表示匹配行尾
"^a"  表示匹配行首为a的行
"^[ab]"  表示匹配行首为a或者b的行
"^$"     表示匹配空白行
`Linux命令` ("`"是在Tab键上方与~相同在同一键位的符号)可以直接执行Linux命令
[^]      在括号中使用^表示取反
[^0-9]   匹配非数字的行
[^a-zA-Z]匹配非字母的行
转义字符“\”
"a\{n\}" 恰好a出现n次的行
"*\{n\}" 表示前面*字符恰好出现n次及以上的行  相同含义的字符"*\{n,\}"
"*\{n\}*"表示前面*字符恰好出现n次的行,最后一个*称为定界符
"*\{m,n\}"表示前面*字符出现至少m次至多n次的概率

grep 实例

1)查找包含“the”的行
grep "the" test
2)查找不包含“the”的行
grep -v "the" test
3)查找以sh开头,以rt结尾,中间是i或o的字符
grep "^sh[io]rt$" test
4)查询oo前面不是w的字符串
grep "[^w]oo" test
5)查询oo前面不是小写字母的字符串
grep "[^a-z]oo" test
6)^匹配以某个字符开头的行。查询以the开头的字符串
grep "^the" test
7)查询不以字母开头的字符串
grep "^[^a-zA-Z]" test
8)查询以.结尾的字符串
grep "\.$" test
9)查询w与d之间包含两个字符的行
grep "w..d" test
10)查询包含连续o字母的行
grep "ooo*" test
11)查询以w开头以d结尾中间至少包含一个o的行
grep "^woo*d$" test
12)查询以w开头d结尾,中间的字符可有可无的行
grep "^w*d$" test
13)查询包含两个o的行
grep "oo" test
14)查询以w开头d结尾,中间包含2~5个o的行
grep "^wo\{2,5\}d$" test
15)查询以w开头以d结尾,中间包含2个以上o的行
grep "^wo\{2,\}d$" test

需要注意的是:o{2}与o{2,}的区别,前者表示恰好两个,后者表示两个及以上。
上述说法可能有问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值