shell脚本基础3——正则表达式

一、基本了解

  • 正则表达式分2种:基本正则表达式和扩展正则表达式。
  • grep 、sed命令使用正则较多,可以在命令行、脚本中使用进行命令替换和查找。
  • 一般都是使用扩展正则,grep命令指定-E参数使用扩展正则,sed命令只用-r或-E参数使用扩展正则。

二、基本正则表达式

2.1 字符匹配

表达式释义
点号.匹配任意单个字符
[],中括号匹配指定范围内的任意单个字符
[^]^取反,匹配指定范围外的任意单个字符

1.使用.匹配单个字符,一个点号代表一个字符。

在这里插入图片描述

2.使用[]匹配范围内的任意单个字符。

在这里插入图片描述
3.[^]匹配范围之外的任意单个字符。

在这里插入图片描述

2.2 位置锚定

表达式释义
^锚定行首,此字符后面的任意单个字符必须出现在行首
$锚定行尾,此字符前面的任意单个字符必须出现在行尾
^$空白行,以什么开头和什么结尾精确匹配
\ <或 \b锚定词首,其后面的任意单个字符必须作为单词首部出现
\ >或\b锚定词尾,其前面的任意单个字符必须作为单词尾部出现
\b \b精确匹配

1.锚定行首。

在这里插入图片描述
2.锚定行尾。

在这里插入图片描述
3.取文件空白行。

在这里插入图片描述
4.锚定词首。

在这里插入图片描述
5.锚定词尾。

在这里插入图片描述
6.精确匹配。

在这里插入图片描述

2.3 匹配次数

表达式释义
*匹配其前面的任意单个字符任意次
.*任意长度的任意字符(全部)
\?匹配其前面的任意单个字符1次或0次
\+匹配其前面的任意单个字符至少1次
\{m,n\}匹配其前面的任意单个字符至少m次,至多n次

1.使用*匹配其前面的任意单个字符任意次。
在这里插入图片描述
2.使用.*匹配所有内容。
在这里插入图片描述

3.匹配其前面的任意单个字符1次或0次
在这里插入图片描述
4.匹配其前面的任意单个字符至少1次
在这里插入图片描述

5.匹配其前面的任意单个字符至少m次,至多n次
在这里插入图片描述

2.4 分组

表达式释义
\(\)把括号当成一个整体
\1向后引用,引用第一个左括号以及与之对应的右括号所包括的所有内容
\2向后引用, 引用第二个左括号以及与之对应的右括号所包括的所有内容

1.把括号当成一个整体匹配。

在这里插入图片描述

三、扩展正则表达式

3.1 字符匹配

  • 书写格式与普通正则完全一样。
表达式释义
点号.匹配任意单个字符
[],中括号匹配指定范围内的任意单个字符
[^]匹配指定范围外的任意单个字符

3.2 位置锚定

  • 书写格式与普通正则完全一样。
表达式释义
^锚定行首,此字符后面的任意单个字符必须出现在行首
$锚定行尾,此字符前面的任意单个字符必须出现在行尾
^$空白行,以什么开头和什么结尾精确匹配
\ <或 \b锚定词首,其后面的任意单个字符必须作为单词首部出现
\ >或\b锚定词尾,其前面的任意单个字符必须作为单词尾部出现
\b \b精确匹配

3.3 匹配次数

表达式释义
*匹配其前面的任意单个字符任意次
.*任意长度的任意字符(全部)
?匹配其前面的任意单个字符1次或0次
+匹配其前面的任意单个字符至少1次
{m,n}匹配其前面的任意单个字符至少m次,至多n次

1.匹配其前面的任意单个字符1次或0次
在这里插入图片描述

2.匹配其前面的任意单个字符至少1次
在这里插入图片描述

3.匹配其前面的任意单个字符至少m次,至多n次
在这里插入图片描述

3.4 分组

表达式释义
()把括号当成一个整体
\1反向引用,引用第一个左括号以及与之对应的右括号所包括的所有内容
\2反向引用, 引用第二个左括号以及与之对应的右括号所包括的所有内容

1.反向引用。

在这里插入图片描述

3.5 或者

表达式释义
|或者or,默认匹配|的整个左侧或者整个右侧的内容

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百慕卿君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值