Регулярное выражение для соответствия экранированным символам (кавычкам)

Я хочу создать простое регулярное выражение, которое охватывает строки в кавычках, включая любые экранированные кавычки внутри них. Например ,

"This is valid"
"This is \" also \" valid"

Очевидно, что-то вроде

"([^"]*)"

не работает, потому что оно соответствует первой экранированной кавычке.

Какая версия правильная?

Я полагаю, что ответ будет таким же для других экранированных символов ( просто заменив соответствующий символ).

Между прочим, мне известно о регулярном выражении «все для всех»

"(.*?)"

, но я стараюсь избегать его, когда это возможно, потому что, что неудивительно, оно работает несколько медленнее, чем более конкретный.

9
задан arcain 30 June 2011 в 00:10
поделиться