this regex can handle double quotes as well (NOTE: perl extended syntax):
"
[^\\"]*
(?:
(?:\\\\)*
(?:
\\
"
[^\\"]*
)?
)*
"
it defines that each " has to have an odd amount of escaping \ before it
maybe it's possible to beautify this a bit, but it works in this form