我如何将其与REGEXP和PHP相匹配?
"s:6:\"[\"50\"]\";",
"s:5:\"[\"1\"]\";"
我希望匹配:[\"50\"]
之间的数字,或者可以是一个或多个。
我有一个模式,并希望在php中仅使用来自json_encode
值serialize()
的数字这是代码:
$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。
答案 0 :(得分:2)
首先,你不能通过preg_match_all遍历一个字符串数组 - 你的$result
数组会在每次循环迭代中被覆盖。
然后,您需要捕获您希望在结果集中看到的数字。要做到这一点,您必须使用另一个[
掩盖]
,\
和\
个字符 - 然后将它们放入{{1 }和(
)