I need a Perl regular expression to match a string. I’m assuming only double-quoted strings, that a \’ is a literal quote character and NOT the end of the string, and that a \ is a literal backslash character and should not escape a quote character. If it’s not clear, some examples:
'\'' # 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
I need a regular expression that can recognize all 4 of these possibilities, and all other simple variations on those possibilities, as valid strings. What I have now is:
/'.*[^\\]'/
But that’s not right – it won’t match any of those except the first one. Can anyone give me a push in the right direction on how to handle this?
How about this?
matches zero or more characters that aren’t slashes or quotes OR two slashes OR a slash then a quote