Java Regex:查找双引号并注意转义字符

时间:2016-09-24 05:03:50

标签: java regex

我无法制作一个注释引号中的转义字符的正则表达式。

例如,两个"引用字符串"在"此行" 将返回:

  

引用字符串

     

这一行

此字符串"包含\"转义引号"。将返回:

  

包含\"逃脱引号

我制作了一个匹配引号的正则表达式

\\\"[^\\\"\\n]*\\\"
  • \\"报价
  • [^ \\" \ n] *除了引用或新行外的任何内容
  • \\"报价

如何制作一个忽略引号内的转义字符的正则表达式?

注意:我只想在引号内注意转义字符,所以这就是\"一只狗" 应该仍然输出一只狗

1 个答案:

答案 0 :(得分:2)

试试这个。

Pattern p = Pattern.compile("\"(?:\\\\\"|[^\"])*\"");
Matcher m = p.matcher("\"contains an \\\" escaped quote mark\"");
while (m.find()) {
    System.out.println(m.group());
}