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等之间的区别。希望你能喜欢。