PHP正则表达式

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 n's
n 匹配任何包含 X 到 Y n 的序列的字符串
n 匹配任何包含至少 X 个 n 的序列的字符串
posted @ 2024-06-13 22:41  Sol_9  阅读(12)  评论(0编辑  收藏  举报