Shell脚本学习笔记——基本正则与扩展正则

本文介绍了Shell脚本中基本正则表达式和扩展正则表达式之间的区别。在基本正则中,特殊字符如?、+、{}、|、()需要转义才能表达其特殊含义,而在扩展正则中,这些字符直接表示特殊意义。grep工具的-E选项用于启用扩展正则匹配。同时,文章提到了如何在目标字符串包含特殊字符时进行匹配,并解释了的作用以及|作为析取符的意义。
摘要由CSDN通过智能技术生成

我们在前面测试grep工具时,其中有一个 -E 选项,那如果将这个 -E 去掉,会出现什么现象呢?

echo "abcabcabcabcdef" | grep --color '(abc){3}'

我们发现,去掉之后再进行匹配,就会出现不一样的结果,为了解释这个现象,我们这里要引入两个概念:

  • 基本正则表达式
  • 扩展正则表达式

这两者的区别是:正则表达式的扩展规范和基本规范基本相同。只是在基本规范下,有些字符(?  +  {}  |  () )应解释为普通字符,要表达上述特殊含义,则需要加 \ 转义。反之,在扩展规范下,?  +  {}  |  () 应被理解成特殊含义,要取其字面值,也要对其进行 \ 转义。

所以,grep工具带上 -E 选项,表示使用扩展正则来进行匹配,如没有,则表示使用基准正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值