精通正则表达式:2 3

第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。

常用的元字符和特性


















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值