在Java中排除双引号内的任何内容

在Java中排除双引号内的任何内容,java,parsing,Java,Parsing,我正在做我的FYP,我正在对任何java代码中的所有块进行编号。我的程序将一个java代码文件作为输入,然后识别其中的块。像 class A{/*B1*/ public static void all(){/*B2*/ int a=10; /*B3*/if(a>10){/*B4*/ } } } 我已经做了所有这些,但我的问题是当if,for,else或任何这样的词出现在双引号中时,我的程序也会给它一个块,而它不应该符合我的要求。现在我只想不在双引号内给任

我正在做我的FYP,我正在对任何java代码中的所有块进行编号。我的程序将一个java代码文件作为输入,然后识别其中的块。像

class A{/*B1*/
  public static void all(){/*B2*/
    int a=10;
    /*B3*/if(a>10){/*B4*/

    }
  }
}

我已经做了所有这些,但我的问题是当
if
for
else
或任何这样的词出现在双引号中时,我的程序也会给它一个块,而它不应该符合我的要求。现在我只想不在双引号内给任何东西编号

因此,更改扫描代码(您尚未发布,因此我无法更具体地说明),以忽略引号内的任何内容。您还需要忽略Java注释中的任何内容

例如,您可以在引号中设置一个
布尔值,当您到达引号时将其设置为true,当您离开引号时将其设置为false


虽然quote
中的
是真的,那么忽略你发现的任何东西。

实际上我在办公室,无法发布代码。但我正在从文件中逐行读取Java代码。现在在一行中可以有if(line.contains(“如果我是个男孩”);现在,起始if应编号为块,双引号中的if不应被阻止。是的,我理解您的要求-但是有数百种可能扫描文件的方法,并且每个方法都有几个不同的选项来处理此情况。状态机是一种方法