正则表达式与文本处理入门
1. POSIX 正则表达式
1.1 POSIX 基本与扩展正则表达式
POSIX 将正则表达式实现分为两种:基本正则表达式(BRE)和扩展正则表达式(ERE)。支持 BRE 的应用程序能支持目前所涵盖的特性,像 grep 程序就属于此类。
BRE 和 ERE 的区别在于元字符。BRE 能识别的元字符有: ^ $ . [ ] * ,其他字符都被视为普通字符;而 ERE 在此基础上新增了以下元字符及其相关功能: ( ) { } ? + | 。不过,在 BRE 中,若用反斜杠转义“(”、“)”、“{”和“}”,它们会被当作元字符;而在 ERE 中,给任何元字符加上反斜杠,它就会被当作普通字符。
由于后续要讨论的特性属于 ERE,所以需要使用不同的 grep 。传统上使用 egrep 程序,而 GNU 版的 grep 在使用 -E 选项时也支持扩展正则表达式。
1.2 POSIX 标准的由来
20 世纪 80 年代,Unix 成为非常流行的商业操作系统。但到 1988 年,Unix 世界陷入混乱。许多计算机制造商从 AT&T 获得 Unix 源代码许可,并为其系统提供不同版本的操作系统。为实现产品差异化,各制造商添加了专有更改和扩展,这限制了软件的兼容性,这段时期被称为“巴尔干化”。
随后,电气和电子工程师协会(IEEE)在 20 世纪 80 年代中期开始制定
超级会员免费看
订阅专栏 解锁全文
7489

被折叠的 条评论
为什么被折叠?



