Shell正则表达式,三剑客之grep命令

目录

一、正则表达式

1、 正则表达式定义

2、基础正则表达式

3、拓展正则表达式

二、grep命令

1、grep格式,参数选项

2、案例实践

2.1 查找特定字符 显示行号

2.2 利用括号 [] 查找集合字符

2.3 查找行首“^”与行尾字符“$”

2.4 查找任意一个字符“.”与重复字符 “*”

2.5.* 任意长度的任意字符

2.6 查找连续字符范围“{}”


一、正则表达式

1、 正则表达式定义

正则表达式又称正规表达式、常规表达式。在代码中常简写为 regex、regexp 或 RE。正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串,简单来说, 是一种匹配字符串的方法,通过一些特殊符号,实现快速查找、删除、替换某个特定字符串。

  • 通常用于判断语句中,用来检查某一字符串是否满足某一格式

  • 正则表达式是由普通字符与元字符组成

  • 普通字符包括大小写字母、数字、标点符号及一些其他符号

  • 元字符是指在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式

Linux 中常用的有两种正则表达式引擎

  • 基础正则表达式:BRE

支持的工具:grep、egrep、sed、awk

  • 扩展正则表达式:ERE

支持的工具:egrep、awk

文本处理工具 基础正则表达式 扩展正则表达式
vi 编辑器 支持 \
grep 支持 \
egrep 支持 支持
sed 支持 \
awk 支持 支持

2、基础正则表达式

基础正则表达式是常用的正则表达式部分,常用的元字符及作用如下表所示:

元字符 作用
\ 转义字符,用于取消特殊符号的含义,如:\!,\n
^ 匹配输入字符串的开始位置。除非在方括号表达式中使用,表示不包含该字符集合。如:^world匹配以world开头的行
$ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则“$”也匹配 ''\n' 或' \r '。如:world $匹配以world结尾的行
. 匹配除 \n (换行)之外的任何的1个字符
* 匹配前面表达式0次或者多次
[] 字符集合。匹配所包含的任意一个字符。例如,“[abc]”可以匹配“plain”中的“a”
[^] 赋值字符集合。匹配未包含的一个任意字符。例如,“abc”可以匹配“plain”中“plin”中的任何一个字母
\{n\} 匹配前面的表达式n次,如:[0-9]\{2\}匹配两位数字
\{n,\} 匹配前面的表达式不少于n次,如:[0-9[\{2,\}表示两位及两位以上数字
\{n,m\}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值