我想写一个正则表达式,用引号中的字符串匹配,但引号中的引号除外。 例如: 我的字符串: “好节目”,“请帮忙”
我想得到: 好的程序\“,”请帮忙
答案 0 :(得分:2)
在线查看(?<=").*(?=")
:http://regexr.com?349d2
答案 1 :(得分:0)
只要您没有嵌套结构,就可以尝试:
(?<=")(?:[^"]|(?<=\\)")*(?=")
(?<=")
positive lookbehind assertion,确保在匹配之前有一个“(如果它适合您,请尝试使用Regexr。)
(?:[^"]|(?<=\\)")
Alternation:匹配一个不是“或”的字符,该字符是转义的(由后方(?<=\\)
确保)。
*
来自轮换的字符为matches 0 or more times。
(?=")
positive lookahead assertion,确保“匹配后”
但要小心:它与新行匹配,也可以在转义之间匹配,“当没有非转义引号可用时。