split string和make array,正则表达式

时间:2017-01-20 15:34:57

标签: php regex

$content = "[2][6][11]";

我想分成一个数值为[2],[6]和[11]的数组。

preg_split("/\[*\]/i", $content);

输出错误:数组([0] => [2 [1] => [5 [2] =>)

任何帮助正则表达式的错误。

感谢。

3 个答案:

答案 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]
)