/
\? # match the literal characters 'text'
(?= # start lookahead
[^"']* # match any number of non-quote characters
(?: # start non-capturing group, repeated zero or more times
("|')[^\1]*\1 # one quoted portion of text
[^"']* # any number of non-quote characters
)* # end non-capturing group
$ # match end of the string
) # end lookahead
/
gmix