OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

POSIX 基本对比扩展正则表达式

正当我们认为这不会再令人困惑时,我们发现 POSIX 还将正则表达式实现分为两种: 基本正则表达式 (BRE) 扩展正则表达式 (ERE). 任何符合 POSIX 标准并实现 BRE 的应用程序都支持我们迄今为止介绍的功能。 我们的 grep的 程序就是这样一个程序。

BRE 和 ERE 有什么区别? 这是元字符的问题。 使用 BRE,可以识别以下元字符:

^ $ 。 [ ] *

所有其他字符都被视为文字。 使用 ERE,添加了以下元字符(及其相关功能):

( ) { } ? + |

然而(这是有趣的部分),“(”、“)”、“{”和“}”字符在 BRE 中被视为元字符 if 它们用反斜杠转义,而在 ERE 中,在任何元字符前加反斜杠会使其被视为文字。 任何出现的奇怪现象都将在随后的讨论中进行讨论。

图片

由于我们接下来要讨论的功能是 ERE 的一部分,因此我们将需要使用不同的 grep的. 传统上,这是由 埃格雷普 程序,但 GNU 版本的 grep的 还支持扩展的正则表达式,当 -E 选项被使用。


POSIX

1980 年代,Unix 成为非常流行的商业操作系统,但到 1988 年,Unix 世界陷入混乱。 许多计算机制造商已经从其创建者 AT&T 那里获得了 Unix 源代码的许可,并为他们的系统提供了各种版本的操作系统。 但是,在努力创造产品差异化的过程中,每个制造商都增加了专有更改和扩展。 这开始限制软件的兼容性。 一如既往

图片

POSIX 基本对比扩展正则表达式


专有供应商,每个都试图与他们的客户玩“锁定”的胜利游戏。 Unix 历史上的这段黑暗时期今天被称为“巴尔干化设立的区域办事处外,我们在美国也开设了办事处,以便我们为当地客户提供更多的支持。“

进入IEEE(电气和电子工程师协会)。 在 1980 年代中期,IEEE 开始制定一套标准来定义 Unix(和类 Unix)系统将如何执行。 这些标准,正式名称为 IEEE 1003,定义了 应用程序编程接口 (API)、shell 和可在标准类 Unix 系统上找到的实用程序。 名称“POSIX”,代表 便携式操作系统接口 (在末尾添加了“X”以增加活力),由 Richard Stallman 建议(是的, Richard Stallman),并被 IEEE 采用。


OnWorks 的顶级操作系统云计算: