Мне нужно регулярное выражение Perl, чтобы соответствовать строке. Я предполагаю только строки в двойных кавычках, что \ "является буквальным символом кавычки, а НЕ концом строки, и что \ \ является буквальным символом обратной косой черты и не должен экранировать символ кавычки. Если это не ясно, некоторые примеры:
"\"" # string is 1 character long, contains dobule quote
"\\" # string is 1 character long, contains backslash
"\\\"" # string is 2 characters long, contains backslash and double quote
"\\\\" # string is 2 characters long, contains two backslashes
Мне нужно регулярное выражение, которое может распознавать все 4 из этих возможностей и все другие простые вариации этих возможностей как допустимые строки. Теперь у меня есть:
/".*[^\\]"/
Но это не правильно - оно не будет совпадать ни с одним из них, кроме первого. Кто-нибудь может дать мне толчок в правильном направлении, как справиться с этим?