在PHP中使用正则表达式查找另一个字符串中字符串出现的结果?

时间:2013-12-02 16:45:40

标签: php regex

我想在另一个字符串中找到一个sustring(基于图案)的出现。 例如:

$mystring = "|graboard='KERALA'||graboarded='KUSAT'||graboard='MG'";

我想在graboard

中找到$mystring的号码

所以我使用了正则表达式,但是我怎么能找到不存在的?

3 个答案:

答案 0 :(得分:3)

如果必须使用正则表达式,preg_match_all()将返回匹配数。

答案 1 :(得分:0)

使用preg_match_all

$mystring = "|graboard='KERALA'||graboarded='KUSAT'||graboard='MG'";

preg_match_all("/(graboard)='(.+?)'/i", $mystring, $matches);

print_r($matches);

将产生:

Array
(
    [0] => Array
        (
            [0] => graboard='KERALA'
            [1] => graboard='MG'
        )

    [1] => Array
        (
            [0] => graboard
            [1] => graboard
        )

    [2] => Array
        (
            [0] => KERALA
            [1] => MG
        )

)

那么你可以使用count($matches[1]) - 但是,这个正则表达式可能需要修改以满足你的需要,但这只是一个基本的例子。

答案 2 :(得分:0)

只需使用preg_match_all()

// The string.
$mystring="|graboard='KERALA'||graboarded='KUSAT'||graboard='MG'";

// The `preg_match_all()`.
preg_match_all('/graboard/is', $mystring, $matches);

// Echo the count of `$matches` generated by `preg_match_all()`.
echo count($matches[0]);

// Dumping the content of `$matches` for verification.
echo '<pre>';
print_r($matches);
echo '</pre>';