正则表达式是烦琐的,但是强大的,学会之后会让你除了提高效率外,会给你带来绝对的成就感。
目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境,以及很多的应用软件中,都可以看到正则表达式的影子。
正则表达式的使用,可以通过简单的办法来实现强大的功能。
为了简单有效而又不失强大,造成了正则表达式代码的难度较大,学习起来也不是很容易。
例子: ^.+@.+..+$
这样的代码曾经多次把我自己给吓退过。可能很多人也是被这样的代码给吓跑的吧。
学习完本教程将让你也可以自由应用这样的代码。
正则表达式的历史
正则表达式的“祖先”可以一直上溯至对人类神经系统如何工作的早期研究。Warren McCulloch 和 Walter Pitts 这两位神经生理学家研究出一种数学方式来描述这些神经网络。
1956 年, 一位叫 Stephen Kleene 的数学家在 McCulloch 和 Pitts 早期工作的基础上,发表了一篇标题为“神经网事件的表示法”的论文,引入了正则表达式的概念。正则表达式就是用来描述他称为“正则集的代数”的表达式,因此采用“正则表达式”这个术语。
随后,发现可以将这一工作应用于使用 Ken Thompson 的计算搜索算法的一些早期研究,Ken Thompson 是 Unix 的主要发明人。正则表达式的第一个实用应用程序就是 Unix 中的 qed 编辑器。
从那时起直至现在正则表达式都是基于文本的编辑器和搜索工具中的一个重要部分。