Php Regex:隔离并计算出现的次数

时间:2013-07-11 14:45:54

标签: php regex

到目前为止,我设法通过这样做来隔离和计算字符串中的图片:

preg_match_all('#<img([^<]+)>#', $string, $temp_img); 
$count=count($temp_img[1]);

我想做一些类似于以下部分的事情:

“代码= mYrAnd0mc0dE123”。

例如,假设我有这个字符串:

$string="my first code is code=aZeRtY and my second one is code=qSdF1E"

我想将“aZeRtY”和“qSdF1E”存储在一个数组中。

我尝试了一堆正则表达式来隔离“code = ...”但没有一个对我有用。 显然,正则表达式超出了我的范围。

谢谢。

2 个答案:

答案 0 :(得分:4)

你在找这个吗?

preg_match_all('#code=([A-Za-z0-9]+)#', $string, $results);
$count = count($results[1]);

答案 1 :(得分:1)

此:

$string = '
    code=jhb2345jhbv2345ljhb2435
    code=jhb2345jhbv2345ljhb2435
    code=jhb2345jhbv2345ljhb2435
    code=jhb2345jhbv2345ljhb2435
    ';

preg_match_all('/(?<=code=)[a-zA-Z0-9]+/', $string, $matches);

echo('<pre>');
print_r($matches);
echo('</pre>');

输出:

Array
(
    [0] => Array
        (
            [0] => jhb2345jhbv2345ljhb2435
            [1] => jhb2345jhbv2345ljhb2435
            [2] => jhb2345jhbv2345ljhb2435
            [3] => jhb2345jhbv2345ljhb2435
        )
)

但是如果没有后缀分隔符,如果连接此模式,它将无法正常工作,例如:code=jhb2345jhbv2345ljhb2435code=jhb2345jhbv2345ljhb2435

但也许这对你来说不是问题。