【发布时间】:2009-03-23 18:51:51
【问题描述】:
有人可以向我解释为什么以下返回空数组吗?
$reg = "/(\[{(false|true)};{.+};{\d}\])+/";
preg_match_all($reg,"[{false};{abcde};{10}][{true};{fghij};{10}]",$matches);
print_r($matches);
【问题讨论】:
标签: php regex preg-match-all
有人可以向我解释为什么以下返回空数组吗?
$reg = "/(\[{(false|true)};{.+};{\d}\])+/";
preg_match_all($reg,"[{false};{abcde};{10}][{true};{fghij};{10}]",$matches);
print_r($matches);
【问题讨论】:
标签: php regex preg-match-all
你写的\d应该是\d+:
$reg = "/(\[{(false|true)};{.+};{\d+}\])+/";
preg_match_all($reg,"[{false};{abcde};{10}][{true};{fghij};{10}]",$matches);
print_r($matches);
尽管在您的情况下似乎无关紧要,但我也会转义大括号,因为它们是特殊字符。
$reg = "/(\[\{(false|true)\};\{.+\};\{\d+\}\])+/";
【讨论】:
\d 应该是 \d+ 一个
【讨论】: