正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。
Regular Expression regex、regexp或RE
正则表达式的"鼻祖"或许可一直追溯到科学家对人类神经系统工作原理的早期研究。美国新泽西州的Warren McCulloch和出生在美国底特律的Walter Pitts这两位神经生理方面的科学家,研究出了一种用数学方式来描述神经网络的新方法,他们创造性地将神经系统中的神经元描述成了小而简单的自动控制元,从而作出了一项伟大的工作革新。
在1951 年,一位名叫Stephen Kleene的数学科学家,他在Warren McCulloch和Walter Pitts早期工作的基础之上,发表了一篇题目是《神经网事件的表示法》的论文,利用称之为正则集合的数学符号来描述此模型,引入了正则表达式的概念。正则表达式被作为用来描述其称之为"正则集的代数"的一种表达式,因而采用了"正则表达式"这个术语。
之后一段时间,人们发现可以将这一工作成果应用于其他方面。Ken Thompson就把这一成果应用于计算搜索算法的一些早期研究,Ken Thompson是 Unix的主要发明人,也就是大名鼎鼎的Unix之父。Unix之父将此符号系统引入编辑器QED,然后是Unix上的编辑器ed,并最终引入grep。Jeffrey Friedl 在其著作《Mastering Regular Expressions (2nd edition)》(中文版译作:精通正则表达式,已出到第三版)中对此作了进一步阐述讲解,如果你希望更多了解正则表达式理论和历史,推荐你看看这本书。
自此以后,正则表达式被广泛地应用到各种UNIX或类似于UNIX的工具中,如大家熟知的Perl。Perl的正则表达式源自于Henry Spencer编写的regex,之后已演化成了pcre(Perl兼容正则表达式Perl Compatible Regular Expressions),pcre是一个由Philip Hazel开发的、为很多现代工具所使用的库。正则表达式的第一个实用应用程序即为Unix中的 qed 编辑器。
然后,正则表达式在各种计算机语言或各种应用领域得到了广大的应用和发展,演变成为计算机技术森林中的一只形神美丽且声音动听的百灵鸟。
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