正则表达式匹配引号

时间:2013-03-26 07:06:33

标签: regex flex

我想写一个正则表达式,用引号中的字符串匹配,但引号中的引号除外。 例如: 我的字符串: “好节目”,“请帮忙”

我想得到: 好的程序\“,”请帮忙

2 个答案:

答案 0 :(得分:2)

在线查看(?<=").*(?=")http://regexr.com?349d2

答案 1 :(得分:0)

只要您没有嵌套结构,就可以尝试:

(?<=")(?:[^"]|(?<=\\)")*(?=")

here on Regexr

(?<=") positive lookbehind assertion,确保在匹配之前有一个“(如果它适合您,请尝试使用Regexr。)

(?:[^"]|(?<=\\)") Alternation:匹配一个不是“或”的字符,该字符是转义的(由后方(?<=\\)确保)。

*来自轮换的字符为matches 0 or more times

(?=") positive lookahead assertion,确保“匹配后”

但要小心:它与新行匹配,也可以在转义之间匹配,“当没有非转义引号可用时。

Regexr