学科分类
目录
PHP基础

什么是正则表达式

正则表达式( Regular Expression,RegExp) 是一种描述字符串结构的语法规则,是一个特定的格式化模式,用于验证各种字符串是否匹配这个特征,进而实现高级的文本查找、替换、截取内容等操作。例如,若想要使Apache服务器解析PHP文件,需要在Apache的配置文件中添加能够匹配出以“.php”结尾的配置“.php$”,添加完成后当用户访问PHP文件时,Apache就会将该文件交给PHP去处理。这里的“.php$”就是一个简单的正则表达式。

正则表达式在发展过程中出现了多种形式,一种是POSIX规范兼容的正则表达式,包括基本语法BRE ( Base Regular Expression )和扩展语法ERE ( Extended Regular Expression)两种规则,用于确保操作系统之间的可移植性,但最终没有成为标准只能作为一个参考。另一种是当Perl(一种功能丰富的编程语言)发展起来后,衍生出来了PCRE ( Perl Compatible Regular Expressions,Perl兼容正则表达式)库,使得许多开发人员可以将PCRE整合到自己的语言中,PHP中也为PCRE库的使用提供了相应的函数。

在PHP的PCRE函数中,一个完整的正则表达式是由4部分内容组成的,分别为定界符、元字符、文本字符和模式修饰符。其中,元字符是具有特殊含义的字符,如“^”“.”或“*”等,文本字符就是普通的文本,如字母和数字等。模式修饰符用于指定正则表达式以何种方式进行匹配,如i表示忽略大小写,x表示忽略空白字符等,具体示例如下所示。

/.*it/

/.*it/i

在上述示例中,“.”用于匹配任意字符,因此正则表达式“/.it/” 可以匹配任意含有“it”的字符串,如“it”“itcast”等。当添加模式修饰符“i”时,表示可匹配的内容忽略大小写,如所有含“IT”“It”“iT”和“it" 的字符串都可以。需要注意的是,在编写正则表达式时,元字符和文本字符在定界符内,模式修饰符一般标记在结尾定界符之外。

点击此处
隐藏目录