正则表达式学习笔记之POSIX

本文介绍了POSIX规范中的正则表达式,包括BRE(基本型正则表达式)和ERE(扩展型正则表达式)。BRE在Linux的vi、grep、sed中常见,元字符需要转义,而ERE在egrep和awk中使用,元字符直接使用。此外,还提到了POSIX字符组的概念。
摘要由CSDN通过智能技术生成

POSIX规范

         正则表达式两大流派:PCRE与POSIX规范。

         之前笔记中的正则表达式记法,如\d、\s、\w之类的字符组简记法就是PCRE规范的正则表达式的特征。

          POSIX的全称是Portable Operating System Interface for unix,它由一系列的规范构成,定义了UNIX操作系统应当支持的功能,因此POSIX规范的正则表达式其实就是正则表达式的POSIX规范,它分为BRE(基本型正则表达式)和ERE(扩展型正则表达式)两大流派。

         BRE流派

              Linux下的vi、grep、sed工具属于BRE这一派,BRE中元字符(、)、{、}必须转义之后才具有特殊意义,比如a\{1,2\}才能匹配字符串a或aa。

              BRE不支持+、?量词,多选结构和反向引用\1、\2。

             GNU对BRE做了扩展,使之支持+、?、|,但使用时需转义。也支持\1、\2之类的反向引用。

         ERE流派

              Linux下的egrep、awk属于ERE流派。这一流派中使用元字符时不用转义,支持量词等。

现在的BRE和ERE的主要差异是元字符是否需转义。

POSIX字符组

           PCRE流派中把[....]称为“字符组”;在POSIX中,它们叫做"方括号表达式",其作用与规则与常说的"字符组"完全一样。但是POSIX中的"方括号表达式"不支持使用\uxxxx的形式表示Unicode字符。即遵循POSIX规范的正则表达式无法用[\u4e00-\u9fff]来匹配"任意一个中文字符"。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值