在php中显示结果空白的preg_match_all

时间:2016-01-29 19:27:08

标签: php regex

我如何将其与REGEXP和PHP相匹配?

"s:6:\"[\"50\"]\";",
"s:5:\"[\"1\"]\";"

我希望匹配:[\"50\"]之间的数字,或者可以是一个或多个。

我有一个模式,并希望在php中仅使用来自json_encodeserialize()的数字这是代码:

$result = [];
        foreach($impressions as $impression) {
            preg_match_all('/\x5C/', $impression->subcategories, $result);
        }

return $result;

如果没有preg_match,那么结果是:

"s:6:\"[\"50\"]\";",
"s:5:\"[\"1\"]\";"

我使用它来匹配数字,其中\是,所以我只能取数字,如50或1

知道我怎么能用正则表达式拍照?值十六进制不起作用'/ \ x5C /'显示结果空白但在这里:Works fine如果我把结果和测试用相同的REGEXP。

Screenshot

1 个答案:

答案 0 :(得分:2)

首先,你不能通过preg_match_all遍历一个字符串数组 - 你的$result数组会在每次循环迭代中被覆盖。

然后,您需要捕获您希望在结果集中看到的数字。要做到这一点,您必须使用另一个[掩盖]\\个字符 - 然后将它们放入{{1 }和(

)