sehll:正则表达式

正则表达式

概念:
  • 用特殊字符去匹配字符串中的内容
grep三大成员

grep

  • 支持使用基本正则表达式

egrep

  • 支持使用扩展正则表达式
  • 等价于grep -e

fgrep

  • 不支持使用正则表达式
  • 等价于grep -f
基本正则表达式
字符含义
^以……开头的行
$以……结尾的行
^$匹配空行
[]匹配字符集合内的任意一个字符
[a-z] [A-Z] [0-9] [a-zA-Z]
[^]匹配除集合内的任意字符
[^a-z] [^A-Z] [^0-9]
.对任何单个字符进行匹配
*对前一项进行0次或多次重复匹配
{n,m}匹配 n 到 m 次前一个字符
基本正则需要对\{\}进行转义
{n,}匹配至少 n 次前一个字符
{,m}匹配最多 m 次前一个字符
{n}匹配 n 次前一个字符
\<匹配以单词作为开头的行
\>匹配以单词作为结尾的行
\<root\>匹配单词
|抑止后面的一个字符的特殊含义
.*  匹配所有字符
^.* 匹配任意多字符开头
grep -i '^root' /etc/passwd 
grep -i '[rot]\{4,7\}' /etc/passwd 

egrep -i '[rot]{4,7}' /etc/passwd 
扩展表达式
字符含义
+对前一项进行1次或多次重复匹配
?对前一项进行0次或1次重复匹配
s|t匹配s项或t项中的一项
(exp)
\(exp)\
将exp作为单项处理
{j}对前一项进行j次重复匹配
{j.}对前一项进行j次或更多次重复匹配
(.K)对前一项最多进行k次重复匹配
{j,k}对前一项进行j到k次重复匹配
egrep '[0-9]|[a-z]' /etc/passwd

egrep '^([0-9]|[a-z])' /etc/passwd
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值