$str = '/[category]/[name]/';
preg_match_all('~\[([a-z]+)\]~', $str, $matches);
var_dump($matches);
array (size=2)
0 =>
array (size=2)
0 => string '[category]' (length=10)
1 => string '[name]' (length=6)
1 =>
array (size=2)
0 => string 'category' (length=8)
1 => string 'name' (length=4)
preg_match_all('/[([a-z]+)]/', $str, $matches);