精通正则表达式:2 3

来源:互联网 发布:dnf源码怎么弄出来的 编辑:程序博客网 时间:2024/05/16 17:47

第2章 入门示例扩展

Perl语言是一门功能强大的脚本语言,诞生于20世纪80年代末期,其思想主要来自其他的编程语言和工具。Perl关于文本处理和正则表达式的许多概念来自两种专业化的语言awk和sed。

第3章 正则表达式的特性和流派概览

使用正则表达式时,主要有3个问题值得注意:

(1)支持的元字符,以及这些元字符的意义。这通常称为正则表达式的”流派“。

(2)正则表达式与语言或工具的”交互“方式。譬如如何进行正则表达式操作,容许进行哪些操作,以及这些操作的目标文本类型。

(3)正则表达式引擎如何将表达式应用到文本。语言或工具的设计者实现正则表达式的方法,对正则表达式能够取得的结果有重要的影响。

正则表达式的起源

     最初的想法来自20世纪40年代的两位神经学家,Warren McCulloch和Walter Pitts,他们研究出一种模型,认为神经系统在神经元层面上就是这样工作的......。若干年后,数学家Stephen Kleene在代数学中正式描述了这种被他称为”正则集合“的模型,正则表达式才成为现实。Stephen发明了一套简洁的表示正则集合的方法,他称之为”正则表达式“。

The Role of Finite Automata in the Development of Modern Computing Theory

关于在计算方面使用正则表达式的资料,最早发表的是1968年Ken Thompsom的文章Regular Expression Search Algorithm,在文中,他描述了一种正则表达式编辑器,该编辑器生成了IBM 7094的object代码。由此也诞生了他的qed,这种编辑器后来成了Unix中ed编辑器的基础。

grep中的元字符

      grep不支持多选结构

grep的发展历程


egrep的发展历程

     Alfred Aho在AT&T的贝尔实验室写出了egrep

其他工具的发展历程

     例如awk、lex和sed


1986年,Henry Spencer发布了用C语言写的正则表达式包

Perl的发展历程

1987年12月,Larry发布了Perl Version 1。

常用的元字符和特性


















原创粉丝点击