PHP 正则表达式函数手册
正则表达式是一种强大的字符匹配工具,可以快速准确地匹配复杂的文本模式。在 PHP 中,可以使用正则表达式函数来实现对字符串的检索、替换、过滤等操作,提高编程效率。
本文将为你介绍 PHP 中常用的正则表达式函数,并提供使用示例,帮助你更好地理解和应用正则表达式。
1. preg_match
preg_match 是 PHP 中最常用的正则表达式函数之一,用于检索字符串中是否存在与正则表达式匹配的内容。其基本语法格式为:
preg_match($pattern, $string, $matches);
其中,$pattern 为正则表达式模式,$string 为要进行匹配的字符串,$matches 为可选参数,用于存储匹配结果。
下面是一个简单的示例:
$str = "Hello, World!";
$pattern = "/world/i";
if (preg_match($pattern, $str, $matches)) {
echo "匹配成功!";
} else {
echo "匹配失败!";
}
该示例检索字符串 $str 中是否存在与正则表达式模式 $pattern 匹配的字符串。其中,/i 表示忽略大小写,$matches 数组存储了匹配结果。
2. preg_replace
preg_replace 是 PHP 中用于替换字符串中与正则表达式匹配的内容的函数。其基本语法格式为:
preg_replace($pattern, $replacement, $string);
其中,$pattern 为要进行匹配的正则表达式模式,$replacement 为要替换的字符串,$string 为要进行替换的原始字符串。
下面是一个简单的示例:
$str = "Hello, World!"; $pattern = "/world/i"; $replacement = "PHP"; echo preg_replace($pattern, $replacement, $str);
该示例将字符串中与正则表达式模式 $pattern 匹配的字符串,用 $replacement 替换,最终输出替换后的结果。
3. preg_split
preg_split 是 PHP 中用于将字符串按照正则表达式模式分割成数组的函数。其基本语法格式为:
preg_split($pattern, $string, $limit, $flags);
其中,$pattern 为要进行匹配的正则表达式模式,$string 为要进行分割的原始字符串,$limit 为可选参数,用于限制分割的数组长度,$flags 为可选参数,用于指定分割的规则。
下面是一个简单的示例:
$str = "Hello, World!"; $pattern = "/\s*,\s*/"; print_r(preg_split($pattern, $str));
该示例将字符串按照逗号分割,输出分割后的数组结果。
4. preg_match_all
preg_match_all 是 PHP 中用于检索字符串中所有与正则表达式模式匹配的内容的函数。其基本语法格式为:
preg_match_all($pattern, $string, $matches, $flags);
其中,$pattern 为要进行匹配的正则表达式模式,$string 为要进行检索的原始字符串,$matches 用于存储匹配结果,$flags 为可选参数,用于指定检索的规则。
下面是一个简单的示例:
$str = "Hello, World! I love PHP world";
$pattern = "/world/i";
if (preg_match_all($pattern, $str, $matches)) {
echo "匹配成功!";
print_r($matches);
} else {
echo "匹配失败!";
}
该示例检索字符串中所有与正则表达式模式 $pattern 匹配的字符串,并输出所有匹配结果。
5. preg_quote
preg_quote 是 PHP 中用于将正则表达式中特殊字符转义的函数,避免这些字符被误认为具有特殊含义。其基本语法格式为:
preg_quote($string, $delimiter);
其中,$string 为要进行转义的字符串,$delimiter 为可选参数,用于指定正则表达式的分隔符。
下面是一个简单的示例:
$str = "Hello, (), ?.*[]";
$pattern = "/".preg_quote("Hello, (), ?.*[]")."/";
echo preg_match($pattern, $str);
该示例将字符串 $str 中的所有特殊字符进行转义,并用转义后的字符串作为正则表达式模式进行匹配。
