我正在使用PHP来尝试解析匹配这种模式的字符串:
field[foo][bar]
我使用preg_match_all来获取数组的索引(在这种情况下为'foo'和'bar')。这是我的代码,但它不起作用:
preg_match_all("/\w+(\[(\w*)\])*/", $string, $matches);
我正在接受这些比赛:
array (3) { [0]=> array(1) { [0]=> string(15) "field[foo][bar]" } [1]=> array(1) { [0]=> string(5) "[bar]" } [2]=> array(1) { [0]=> string(3) "bar" } }
我希望有类似的东西:
array(3) { [0]=> array(1) { [0]=> string(15) "field[foo][bar]" } [1]=> array(1) { [0]=> string(5) "[foo]" [0]=> string(5) "[bar]" } [2]=> array(1) { [0]=> string(3) "foo" [0]=> string(3) "bar" } }
(实际上,我只对最后一个数组感兴趣,没有方括号的那个)
我不知道为什么我只得到最后一场比赛......
有什么想法吗? :)
答案 0 :(得分:0)
尝试使用:
preg_match_all("/(\[(\w*)\])/", $string, $matches);