我需要一个 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 种可能性,以及这些可能性的所有其他简单变体,作为有效字符串。我现在拥有的是:
/".*[^\\]"/
但这是不对的——它不会匹配除第一个之外的任何一个。谁能给我一个正确的方向推动如何处理这个问题?