Just a guess. get_shortcode_regex() only works for registered shortcodes. So just in case you have not registered "your" shortcode it does not even work for simple shortcodes. So this might be - in case you did not register it - the cause of your problem in the end.
Shortcode handling is specified in the Shortcode API, examples how to register shortcodes are given on the add_shortcode() Codex page as well.
function baztag_func($atts, $content=) {
return "content = $content";
}
add_shortcode('baztag', 'baztag_func');
For nested codes, Jeff has already answered how this works. So this is basically a smaller example that shows how to add a shortcode. After using add_shortcode()
, get_shortcode_regex()
will return a regular expression that actually covers the registered shortcode name. Otherwise it just won't match.