Pattern "%b" and Capture Modifiers

The %b pattern seems to take the next two characters found, every time. Is there a way to use variable patterns for matching, things like character sets “[*]” or complements “^” or something? Basically what I want to do is use %b to find balanced sets without allowing escapes. So the pattern

[lua]

%b^\"^\"

[/lua]

would find strings, ignoring escaped quotation marks.

Is this possible?

C