PHP 正则表达式函数

PHP preg_grep() 函数返回由指定数组的元素组成的数组匹配给定的模式

语法

preg_grep(pattern, array, flags) 

参数

mode 必填。 以字符串形式指定要搜索的模式。
array必需。 指定输入数组。
flags必填。 此函数只有一个标志。如果设置为 PREG_GREP_INVERT,则此函数返回输入数组中与给定模式不匹配的元素。

返回值

返回使用输入数组中的键索引的数组,失败时返回 false。

示例:

下面的示例显示了 preg_grep() 函数。

<?php
$arr = array("Red",
             "Pink", 
             "Green", 
             "Blue", 
             "Purple");

//返回所有数组元素
//以字母P开头
$result = preg_grep("/^p/i", $arr);
print_r($result);
?> 

上述代码的输出将是:

Array
(
    [1] => Pink
    [4] => Purple
) 

示例:

考虑下面的示例,其中flags 参数用于选择数组中与指定模式不匹配的所有元素。

<?php
$arr = array("Red",
             "Pink", 
             "Green", 
             "Blue", 
             "Purple");

//返回所有数组元素
//不以字母P开头
$result = preg_grep("/^p/i", $arr, 
                    PREG_GREP_INVERT);
print_r($result);
?> 

上述代码的输出将是:

Array
(
    [0] => Red
    [2] => Green
    [3] => Blue
) 

示例:

再考虑一个示例,其中此函数用于选择所有内容包含浮点数的数组元素。

<?php
$arr = array("10.5",
             "Hello", 
             100.25, 
             10, 
             1e5,
             "abc.com");

//返回包含的所有数组元素
//浮点数
$result = preg_grep("/^(\d+)?\.\d+$/", $arr);
print_r($result);
?> 

上述代码的输出将是:

Array
(
    [0] => 10.5
    [2] => 100.25
)