轻松上手,快乐学习!

PHP 教程

PHP 教程PHP 简介PHP 下载安装PHP 语法PHP 注释PHP 变量PHP Echo / PrintPHP 数据类型PHP 字符串PHP 数值PHP MathPHP 常量PHP 运算符PHP If...ElsePHP SwitchPHP 循环While 循环Do While 循环For 循环Foreach 循环Break/ContinuePHP 函数PHP 数组索引数组关联数组多维数组数组排序PHP 全局变量$GLOBALS$_SERVER$_REQUEST$_POST$_GETPHP 正则表达式PHP 表单处理PHP 表单验证PHP 表单验证必填字段PHP 表单验证URL/E-mailPHP 表单验证实例PHP 日期和时间PHP IncludePHP 文件处理PHP 文件打开/读取PHP 文件创建/写入PHP 文件上传PHP CookiesPHP SessionsPHP FiltersPHP Filters AdvancedPHP 回调函数PHP JSONPHP 异常处理PHP 什么是 OOPPHP 类和对象PHP 构造函数PHP 析构函数PHP 访问修饰符PHP 继承PHP 类常量PHP 抽象类PHP 接口PHP 特征PHP 静态方法PHP 静态属性PHP 命名空间PHP 可迭代对象MySQL DatabaseMySQL ConnectMySQL Create DBMySQL Create TableMySQL Insert DataMySQL Get Last IDMySQL Insert MultipleMySQL PreparedMySQL Select DataMySQL WhereMySQL Order ByMySQL Delete DataMySQL Update DataMySQL Limit DataPHP XML ParsersPHP SimpleXML ParserPHP SimpleXML - GetPHP XML ExpatPHP XML DOMAJAX IntroAJAX PHPAJAX DatabaseAJAX XMLAJAX Live SearchAJAX PollPHP 实例PHP 编译器PHP 测验PHP 练习

PHP 参考手册

PHP 概述PHP ArrayPHP CalendarPHP DatePHP DirectoryPHP ErrorPHP ExceptionPHP FilesystemPHP FilterPHP FTPPHP JSONPHP KeywordsPHP LibxmlPHP MailPHP MathPHP MiscPHP MySQLiPHP NetworkPHP Output ControlPHP RegExPHP SimpleXMLPHP StreamPHP StringPHP Variable HandlingPHP XML ParserPHP ZipPHP 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 = '/\?+/';