Shell正则表达式及实例

一、Shell 正则表达式

基础正则表达式:BRE
扩展正则表达式:ERE,扩展的表达式有+,?,|,(),grep选项-E


. 匹配除换行符之外的任意单个字符

注意是单个字符,比如匹配1234,就应当是1…4,中间是两个点
在这里插入图片描述


^ 匹配以字符串开头的行

可以看到,以abc开头的行都被匹配到,输出那一行
在这里插入图片描述


$ 匹配以字符串结尾的行

可以看到,以fg结尾的行都被匹配到,输出那一行
在这里插入图片描述


* 匹配前面的子表达式(零个或多个)

可以看到,*号之前的一个字符可以是0个或者多个
如果是0个y,就输出x;如果是1个y,就输出xy;如果是2个y,就输出xyy
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


+ 匹配前面的子表达式(一个或多个)

在这里插入图片描述


[] 匹配中括号中的任意一个字符

[.-.] 匹配中括号中范围内的任意一个字符

[^] 匹配[^字符]之外的任意一个字符

在这里插入图片描述


{n} 匹配确定的n次

在这里插入图片描述


{n,} 至少匹配n次,注意‘ ’

在这里插入图片描述


< 边界符,匹配字符串开始

> 边界符,匹配字符串结尾

在这里插入图片描述


() 作为单元,将小括号里面的作为一组

() 作为分组,匹配小括号中的正则表达式或字符

\n 反向引用,n是数字,从1开始编号,表示引用第n个分组匹配的内容
在这里插入图片描述


| 匹配两边的任意一个

在这里插入图片描述


\ 转义符,将特殊符号转成原有意义

在这里插入图片描述


二、文本处理简介

命令描述
grep默认不支持扩展表达式,加-E选项开启 ERE。如果不加-E使用花括号要加转义符\{\}
egrep支持基础和扩展表达式
awk支持egrep所有的正则表达式
sed默认不支持扩展表达式,加-r 选项开启 ERE。 如果不加-r 使用花括号要加转义符\{\}
支持的特殊字符描述
\w匹配任意数字和字母,等效于[a-zA-Z0-9]
\W与\w 相反,等效于[^a-zA-Z0-9]
\b匹配字符串开始或结束,等效于\<和\>
\s匹配任意的空白字符
\S匹配任意的非空白字符
空白符描述
\n换行符
\r回车符
\t水平制表符
\v垂直制表符
\0空值符
\b退后一格
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值