<?php

$re = '/(?|{([^}]*)}|\[([^]]*)])/'; 
$str = "{A''BsCb}"; 
$res = array();
preg_match_all($re, $str, $m);
foreach ($m[1] as $match) {
	preg_match_all('~[A-G-][^A-G]*~', $match, $tmp);
	$res = array_merge($tmp, $res);
}
print_r($res);