$content = "[2][6][11]";
我想分成一个数值为[2],[6]和[11]的数组。
preg_split("/\[*\]/i", $content);
输出错误:数组([0] => [2 [1] => [5 [2] =>)
任何帮助正则表达式的错误。
感谢。
答案 0 :(得分:1)
您可以使用lookarounds来测试您想要查找的位置周围的字符,而不是匹配它们。
print_r(preg_split('~(?<=])(?=\[)~', $content));
请注意,如果您已经知道字符串的格式,您也可以使用preg_match_all
更简单的模式:~\[\d+]~
答案 1 :(得分:1)
您可以对此split
:
$content = "[2][6][11]";
print_r(preg_split('/(?<=\])(?=\[)/', $content));
<强>输出:强>
Array
(
[0] => [2]
[1] => [6]
[2] => [11]
)
答案 2 :(得分:0)
您也可以使用preg_match_all
:
$content = "[2][6][11]";
preg_match_all("/\[.*\]/Ui", $content, $matches);
$result = $matches[0];
print_r($result);
<强>输出:强>
Array
(
[0] => [2]
[1] => [6]
[2] => [11]
)