Linux正则表达式(Regular Expression)主要遵循POSIX BRE或POSIX ERE标准。什么是POSIX便携式操作系统接口的可移植的操作系统接口,这是一个扩展版本的BRE,更强大的处理能力,并增加了一些元字符(metacharactor)。

BRE的主要能力集:

1)普通字符(文字文本),如A、B、C等。

2)非打印字符,包括制表符、回车符、更改行和返回行(Windows)。

3)任何字符。

4)字符集,包括文字型性格(不alnum:} }),一个非单词字符({ ^ {:alnum:} })、数字(不是数字:} }),非数字({ ^ {:alnum:} })、标签、空间、线空间特征(不是空间:} })和非空白字符({ ^ {:空间:} })

5)边缘匹配,无论是BRE或ERE,只支持,开始或结束的线,不像Perl,也可以搭配的词和一个单词的结尾

6)匹配重复时间(量词/重复)

7)分组和向后引用

8)、数(改变),利用|特征元素,特点等的支持,是不具备此功能

无论是BRE在似乎支持ASCII和Unicode仍有待证实;

不支持正向查找和负前向查找。

不支持向后查找和负向后查找。

BRE在只有在多个匹配的能力之间的差异,并没有在其他方面没有太大的差异。主要区别在于元字符。

那只定义了4组分特征:

{ }为选定一个字符在匹配的字符数,可以有一个范围的{ },但本身并不是一个元字符

用于匹配任何字符

用来表示非匹配的意思,用法是匹配行。

在终点线,为$

在此基础上增加了3个组件字符的定义:

Used to express repetition, {}.BRE will only treat {} as ordinary characters, to use this function must be escape, namely {}

()用于分组。在BRE,只有()被视为一个共同的特点。要使用此函数,必须添加

|完全为一批新的ERE,定义的能力,一批配套能力不勇敢,只有|作为普通字符处理

以上是详细描述了Linux正则表达式特征和BRE等之间的区别。希望你能喜欢。