Я предлагаю вам использовать
(?<=")(?:\\.|[^"\\])*(?=")
Это будет соответствовать только тому, что находится в кавычках (не самих кавычках), а также правильно обрабатывать экранированные кавычки внутри вашей строки.
Таким образом, в "She said, \"Hi!\""
оно будет соответствовать She said, \"Hi!\"
.
Если вы используете JavaScript или Ruby (который вы не упомянули) и, следовательно, не можете использовать lookbehind, используйте
"((?:\\.|[^"\\])*)"
и работа с группой захвата №. 1.