Java正则表达式:查找双引号并注意转义字符
我在制作一个注意到引号内转义字符的正则表达式时遇到了麻烦 例如,“this line”中的两个“quoted string”将返回: 引用字符串 这条线 此字符串“包含\“转义引号”。将返回: 包含一个“转义引号” 我做了一个正则表达式来匹配引号Java正则表达式:查找双引号并注意转义字符,java,regex,Java,Regex,我在制作一个注意到引号内转义字符的正则表达式时遇到了麻烦 例如,“this line”中的两个“quoted string”将返回: 引用字符串 这条线 此字符串“包含\“转义引号”。将返回: 包含一个“转义引号” 我做了一个正则表达式来匹配引号 \\\"[^\\\"\\n]*\\\" \\“引用 [^\\“\n]*除了引号或新行以外的任何内容 \\“引用 如何生成忽略引号内转义字符的正则表达式 注意:我只希望引号中的转义字符被注意到,因此类似于“a dog”的东西仍然应该输出一只狗。试试
\\\"[^\\\"\\n]*\\\"
- \\“引用
- [^\\“\n]*除了引号或新行以外的任何内容
- \\“引用
Pattern p = Pattern.compile("\"(?:\\\\\"|[^\"])*\"");
Matcher m = p.matcher("\"contains an \\\" escaped quote mark\"");
while (m.find()) {
System.out.println(m.group());
}
试试这个
Pattern p = Pattern.compile("\"(?:\\\\\"|[^\"])*\"");
Matcher m = p.matcher("\"contains an \\\" escaped quote mark\"");
while (m.find()) {
System.out.println(m.group());
}