POSIX正则表达式

在学习Linux命令行,shell脚本,甚至是vim时,有许多命令需要用到正则表达式。正则表达式有很多种,但是最常用的可能就是POSIX(Portable Operating System Interface,可移植操作系统接口)正则表达式。

POSIX正则表达式分为基本正则表达式(basic regular expression,简称BRE)和扩展正则表达式(extended regular expression,简称ERE)。

本文主要是对BRE和ERE的高度总结,让自己能分清楚它们的差别,也方便自己记住。

BRE

BRE首先包括界定行首和行尾的字符,也就是^和$。

然后就是匹配任意一个字符,有两种方法

  1. 用点.匹配任意一个字符
  2. []匹配字符集中的任意一个字符。特别地,在[]中,首字符为^表示字符集取反,-表示一个区间。

最后是匹配多个字符,使用数量限定符星号*,它限定的数量是0到无数个。

BRE很简单,就这么点内容。

ERE

ERE就是在BRE基础上进行扩展。

首先是对字符集[]的扩展。[]只能匹配字符集中任意一个字符,而(|)能匹配字符串集中的任意一个字符串。

然后是对数量限定符的扩展。BRE使用*表示0个或多个,而ERE使用?表示0个或1个,使用+表示1个或多个,使用{}指定任意范围。

总结

总结下。

BRE元字符为 ^ $ . * []

ERE元字符为 (|) ? + {}

参考

GNU使用的各种正则表达式
https://www.gnu.org/software/findutils/manual/html_mono/find.html#Regular-Expressions

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值