欢迎访问宙启技术站
智能推送

PHP函数库:正则表达式

发布时间:2023-06-17 13:55:50

正则表达式是一种用于匹配字符串的工具,它是由字符和操作符构成的模式。在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函数系列,我们可以灵活地对字符串进行匹配、替换、分割等操作。同时,要注意正则表达式的性能问题,不可滥用。