正则不允许特殊符号_正则表达式(二)

3.位置限定符

1cd3f206cffb808bcd719e6158b6e91d.png

举例如下:

例1:

98440bf12c5a58b773b440ffd2b1ecfa.png

例2:

9b66cb48ff8e5efc6af0430bc4ba0fba.png

例3:

b7db12676e5d294d3169558f9b964f4c.png

例4:

3ce92af724888419577d803a42be477d.png

例5:

5fac87897eff542112c0f60ee25447e4.png

例6:

0b8df63b71a157ccac23041e390459b1.png

4.特殊符号

0ede3a8acb9ee571b46568b08b880ec5.png

举例如下:

db15bfb44bb29b28f24f22ee1e6c370f.png

假如我们去掉-E选项,会有什么现象呢?

79c4fe7dd1ca96ed5bd028b9ccdc7aac.png

此时,不难发现,去掉-E选项之后没有进行正常的正则匹配,这种现象需要我们引入如下的两个概念!

5.基本正则表达式&扩展正则表达式

区别:正则表达式的扩展正则(Extended规范)和基本正则(Basic规范)下,有些字符

1c9b9eb762a88d2e7a5c93e318c1753b.png

应该解释为普通字符,要表示上述特殊含义则需要加“”转义字符。反之,在扩展规范下,

b231f7b37615487fdd0273cb794bdcf9.png

应被理解为特殊含义,要取其字面值,也要对其进行“”转义。

因此,grep工具带上-E选项,表示使用扩展正则来进行匹配,若没有该选项,则表示使用基准正则来进行匹配。

对于上述的问题,我们举例如下:

例1:

233df74de8f61f9ef75deb3c85a36721.png

例2:当目标字符串当中本身就包含了

b231f7b37615487fdd0273cb794bdcf9.png

字符,要想进行正则匹配,应该这样做:

e2e4b63c904f94c5164cca750236701d.png

例3:

bc2eb15573ebaafbdb73be5e1aeb06b0.png

5.其他普通字符集及其替换

9f0c7b04832965c747d91f076872739d.png

举个例子:

1738cc2ba84e4653295e625c25a26546.png

综上,正则表达式有以下三个分类:

(1)基本正则表达式:Basic即BPEs

(2)扩展正则表达式:Extended即EREs

(3)Perl的正则表达式:PREs

因此,当grep指令不跟任何参数时,表示要使用BREs,后面跟“-E”表示使用EREs,后面跟“-P”参数,表示使用PREs

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值