正则表达式是一种描述字符串结构的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字串。对于用户来说,可能以前接触过DOS,如果想匹配当前文件夹下所有文本文件,可以输入“dir *.txt”命令,按Enter键后所有“.txt”文件都会被列出来。这里的“*.txt”即可理解为一个简单的正则表达式。
在学习正则表达式之前,我们先来了解一下正则表达式中的几个容易混洗的术语,这对学习正则表达式有很大的帮助。
grep:最初是ED编辑器中的一条命令,用来显示文件中特定的内容,后来成为一个独立的工具grep。
egrep:grep虽然不断地更新升级,但仍然无法跟上技术的脚步。为此,贝尔实验室推出了egrep。意为“扩展的grep”,这大大增强了正则表达式的能力。
POSIX(Portable Operating System Interface of Vnix,可移值操作系统接口):在grep发展的同时,其他一些开发人员也按照自己的喜好开发出了具有独特风格的版本。但问题也随之而来,有的程序支持某个元字符,而有的程序则不支持。因此就有了POSIX,POSIX是一系列标准,确保了造作系统之间的可移植性。但POSIX和SQL一样,没有成为最终的标准而只能作为一个参考。
Perl(Practical Extraction and Reporting Language,实际抽取与汇报语言):1987年,Larry Wall发布了Perl。在随后的7年时间里,Perl经历了从Perl 1到现在的Perl 5的发展,最终Perl成为了POSIX之后的另一个标准。
PCER:Perl的成功,让其他的开发人员在某种程度上要兼容Perl,包括C/C++、Java、Python等都有自己的正则表达式。1997年,Philip Hazel开发了PCRE库,这是兼容Perl正则表达式的一套正则引擎,其他开发人员可以将PCRE整合到自己的语言中,为用户提供丰富的正则功能。许多语言都使用PCRE,PHP正式其中之一。
深圳 · 龙岗 · 大运软件小镇22栋201
电话:400 182 8580
邮箱:szhulian@qq.com