PHP函数库:正则表达式
正则表达式是一种用于匹配字符串的工具,它是由字符和操作符构成的模式。在PHP中,正则表达式通常使用preg函数系列进行操作。
下面列举了PHP中常用的正则表达式函数:
1. preg_match()
preg_match()函数用于对字符串进行匹配,如果匹配成功则返回1,否则返回0。它的第一个参数是正则表达式,第二个参数是要匹配的字符串。
例如:
$str = "Hello World";
if (preg_match("/world/i", $str)) {
echo "匹配成功
";
} else {
echo "匹配失败
";
}
输出结果为"匹配成功"。
2. preg_replace()
preg_replace()函数用于将匹配的字符串替换为指定的字符串。它的第一个参数是正则表达式,第二个参数是替换文本,第三个参数是要被替换的字符串。
例如:
$str = "www.example.com/";
$newstr = preg_replace('/com\//i', 'cn/', $str);
echo $newstr;
输出结果为"www.example.cn/"。
3. preg_split()
preg_split()函数用于将字符串分割成数组。它的第一个参数是正则表达式,第二个参数是要分割的字符串,第三个参数是可选的分割的最大次数。
例如:
$str = "apple,banana,orange";
$arr = preg_split('/,/', $str);
print_r($arr);
输出结果为:
Array
(
[0] => apple
[1] => banana
[2] => orange
)
4. preg_grep()
preg_grep()函数用于从数组中筛选匹配的元素。它的第一个参数是正则表达式,第二个参数是要筛选的数组。
例如:
$arr = array("apple", "banana", "orange");
$result = preg_grep('/na/', $arr);
print_r($result);
输出结果为:
Array
(
[1] => banana
[2] => orange
)
5. preg_match_all()
preg_match_all()函数用于对字符串进行全局匹配。它的第一个参数是正则表达式,第二个参数是要匹配的字符串,第三个参数是返回的结果数组。
例如:
$str = "123abc456xyz789";
preg_match_all('/\d+/', $str, $matches);
print_r($matches);
输出结果为:
Array
(
[0] => Array
(
[0] => 123
[1] => 456
[2] => 789
)
)
6. preg_quote()
preg_quote()函数用于将正则表达式中的特殊字符转义。它的第一个参数是要转义的字符串,第二个参数是可选的转义字符。
例如:
$str = "Hello World ! How are you ?"; $pattern = "or"; $escaped = preg_quote($pattern, '/'); $pattern = '/' . $escaped . '/'; $result = preg_replace($pattern, "my", $str); echo $result;
输出结果为"Hello Wmyld ! How are you ?"。
总结:
正则表达式是一种强大的字符串处理工具,在PHP中也有着广泛的应用。通过preg函数系列,我们可以灵活地对字符串进行匹配、替换、分割等操作。同时,要注意正则表达式的性能问题,不可滥用。
