Php preg_match_所有结果未知
我有一个看起来像这样的字符串:Php preg_match_所有结果未知,php,regex,Php,Regex,我有一个看起来像这样的字符串: "first: [[1394,97],[13944,97]], second: [[1394,11400],[13944,7898]]" 我试图使用php preg_match_all来简单地给我(删除“第一”、“第二”) 这样我就可以使用它创建数组了 当我使用正则表达式时: $reg = "/(\[?(?:\[(\d{1,}),(\d{1,})\]))/"; preg_match_all($reg, $input_string, $matches); 我不理
"first: [[1394,97],[13944,97]],
second: [[1394,11400],[13944,7898]]"
我试图使用php preg_match_all来简单地给我(删除“第一”、“第二”)
这样我就可以使用它创建数组了
当我使用正则表达式时:
$reg = "/(\[?(?:\[(\d{1,}),(\d{1,})\]))/";
preg_match_all($reg, $input_string, $matches);
我不理解输出:
array (size=4)
0 =>
array (size=4)
0 => string '[[1394,97]' (length=10)
1 => string '[13944,97]' (length=10)
2 => string '[[1394,11400]' (length=13)
3 => string '[13944,7898]' (length=12)
1 =>
array (size=4)
0 => string '[[1394,97]' (length=10)
1 => string '[13944,97]' (length=10)
2 => string '[[1394,11400]' (length=13)
3 => string '[13944,7898]' (length=12)
2 =>
array (size=4)
0 => string '1394' (length=4)
1 => string '13944' (length=5)
2 => string '1394' (length=4)
3 => string '13944' (length=5)
3 =>
array (size=4)
0 => string '97' (length=2)
1 => string '97' (length=2)
2 => string '11400' (length=5)
3 => string '7898' (length=4)
如何修改以只返回第一个数组,这正是我想要的?只需去掉所有捕获括号
()
即可
$reg = "/\[\d{1,},\d{1,}\]/";
preg_match_all($reg, $input_string, $matches);
将给您一个输出
Array ( [0] => Array ( [0] => [1394,97]
[1] => [13944,97]
[2] => [1394,11400]
[3] => [13944,7898] ) )
Array ( [0] => Array ( [0] => [1394,97]
[1] => [13944,97]
[2] => [1394,11400]
[3] => [13944,7898] ) )