0

有人可以向我解释为什么以下返回空数组吗?

$reg = "/(\[{(false|true)};{.+};{\d}\])+/";
preg_match_all($reg,"[{false};{abcde};{10}][{true};{fghij};{10}]",$matches);
print_r($matches);
4

2 回答 2

2

你写的\d应该是\d+

$reg = "/(\[{(false|true)};{.+};{\d+}\])+/";
preg_match_all($reg,"[{false};{abcde};{10}][{true};{fghij};{10}]",$matches);
print_r($matches);

尽管在您的情况下似乎无关紧要,但我也会避开大括号,因为它们是特殊字符。

$reg = "/(\[\{(false|true)\};\{.+\};\{\d+\}\])+/";
于 2009-03-23T18:55:00.833 回答
2

\d 应该是 \d+ 一个

于 2009-03-23T18:55:53.967 回答