PHP 教程

PHP 教程 PHP 简介 PHP 下载安装 PHP 语法 PHP 注释 PHP 变量 PHP Echo / Print PHP 数据类型 PHP 字符串 PHP 数值 PHP Math PHP 常量 PHP 运算符 PHP If...Else...Elseif PHP Switch PHP 循环 PHP 函数 PHP 数组 PHP 全局变量 PHP 正则表达式

PHP 表单

PHP 表单处理 PHP 表单验证 PHP 表单验证必填字段 PHP 表单验证URL/E-mail PHP 表单验证实例

PHP 高级教程

PHP 日期和时间 PHP Include PHP 文件处理 PHP 文件打开/读取 PHP 文件创建/写入 PHP 文件上传 PHP Cookies PHP Sessions PHP Filters PHP Filters Advanced PHP 回调函数 PHP JSON PHP 异常处理

PHP 面向对象

PHP 什么是 OOP PHP 类和对象 PHP 构造函数 PHP 析构函数 PHP 访问修饰符 PHP 继承 PHP 类常量 PHP 抽象类 PHP 接口 PHP 特征 PHP 静态方法 PHP 静态属性 PHP 命名空间 PHP 可迭代对象

MySQL 数据库

MySQL Database MySQL Connect MySQL Create DB MySQL Create Table MySQL Insert Data MySQL Get Last ID MySQL Insert Multiple MySQL Prepared MySQL Select Data MySQL Where MySQL Order By MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP XML

PHP XML Parsers PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Intro AJAX PHP AJAX Database AJAX XML AJAX Live Search AJAX Poll

PHP 实例

PHP 实例 PHP 编译器 PHP 测验 PHP 练习

PHP 参考手册

PHP 概述 PHP Array PHP Calendar PHP Date PHP Directory PHP Error PHP Exception PHP Filesystem PHP Filter PHP FTP PHP JSON PHP Keywords PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP Network PHP Output Control PHP RegEx PHP SimpleXML PHP Stream PHP String PHP Variable Handling PHP XML Parser PHP Zip PHP Timezones


PHP 正则表达式函数

PHP正则表达式介绍

正则表达式允许您搜索和替换字符串中的模式。


安装

PHP 正则表达式函数是 PHP 核心的一部分。 无需安装即可使用这些功能。


运行时配置

php.ini 中的这些设置可用于限制计算正则表达式时使用的时间或资源量。

名称 默认值 描述 Changeable
pcre.backtrack_limit "1000000" 正则表达式引擎在计算表达式时允许执行的最大回溯数。 (自 PHP 5.2 起可用) PHP_INI_ALL
pcre.recursion_limit "100000" 正则表达式引擎在计算表达式时允许达到的最大递归深度。 (自 PHP 5.2 起可用) PHP_INI_ALL
pcre.jit "1" 当设置为"1"时,这将启用 PCRE(Perl 兼容的正则表达式)即时编译。 (自 PHP 7.0 起可用) PHP_INI_ALL

PHP 正则表达式函数

函数 描述
preg_filter() 返回替换模式匹配的字符串或数组,但前提是找到匹配项
preg_grep() 返回一个仅由输入数组中与模式匹配的元素组成的数组
preg_last_error() 返回一个错误代码,指出最近一次正则表达式调用失败的原因
preg_match() 在字符串中查找模式的第一个匹配项
preg_match_all() 查找字符串中某个模式的所有匹配项
preg_replace() 返回一个字符串,其中模式(或模式数组)的匹配被替换为给定字符串中的子字符串(或子字符串数组)
preg_replace_callback() 给定一个表达式和一个回调,返回一个字符串,其中所有匹配的表达式都替换为回调返回的子字符串
preg_replace_callback_array() 给定一个将表达式与回调关联的数组,返回一个字符串,其中每个表达式的所有匹配项都替换为回调返回的子字符串
preg_split() 使用正则表达式的匹配作为分隔符将字符串分解为数组
preg_quote() 通过在正则表达式中添加反斜杠来转义具有特殊含义的字符

正则表达式修饰符

修饰符可以改变搜索的执行方式。

修饰符 描述
i 执行不区分大小写的搜索
m 执行多行搜索(搜索字符串开头或结尾的模式将匹配每行的开头或结尾)
u 启用 UTF-8 编码模式的正确匹配

正则表达式模式

括号用于查找字符范围:

表达式 描述
[abc] 从括号内的选项中找出一个字符
[^abc] 查找不在括号内的任何字符
[0-9] 从 0 到 9 中查找一个字符

元字符

元字符是具有特殊含义的字符:

元字符 描述
| 为任何一个由 | 分隔的模式查找匹配项 如:猫|狗|鱼
. 只查找任意字符的一个实例
^ 找到一个匹配作为字符串的开头,如:^Hello
$ 在字符串末尾找到匹配项,如:World$
\d 找一个数字
\s 查找空白字符
\b 在这样的单词开头查找匹配:\bWORD,或在这样的单词结尾:WORD\b
\uxxxx 查找十六进制数xxxx指定的Unicode字符

量词

量词定义数量:

的字符串 的字符串 的字符串 序列的字符串
量词 描述
n+ 匹配任何包含至少一个 n
n* 匹配任何包含零次或多次 n
n? 匹配任何包含 0 个或 1 个 n
n{x} 匹配任何包含 X n's
n{x,y} 匹配任何包含 X 到 Y n 的序列的字符串
n{x,} 匹配任何包含至少 X 个 n 的序列的字符串

注释: 如果您的表达式需要搜索其中一个特殊字符,您可以使用反斜杠 (\) 对其进行转义。 例如,要搜索一个或多个问号,您可以使用以下表达式:$pattern = '/\?+/';