正则表达式,又称规则表达式。(英语: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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