java正则表达式 - 显示多行

时间:2017-10-11 03:52:55

标签: java regex delphi

我正在尝试为Delphi创建一个词法分析器。我目前正处于显示多行评论的部分,我不知道如何。

这是我的正则表达式:

    String multiComm="\\{[^\\}]*\\}";

这是我展示它的条件:

       matcher=Pattern.compile(multiComm).matcher(line); 
       if(matcher.find()){
        System.out.println("multiLn_comment"+"\t"+matcher.group());
       }

它可以显示以{开头}结尾的单行注释,但不能显示多行注释。我已在this site中对此正则表达式进行了测试,它可以读取多行评论,如:

{
  hello
}

这是代码的完整过程:

static void results()throws FileNotFoundException, IOException {
    try {
    BufferedReader lineReader = new BufferedReader(new FileReader(file));
    String lineText = null;
    System.out.println("Token"+"\t\t"+"Lexeme");
    while ((lineText = lineReader.readLine()) != null) {
    parseLine(lineText);
        }
        lineReader.close();
    } catch (IOException ex) {
    System.err.println(ex);
    }
}
private static void parseLine(String line)
    String multiComm="\\{[^\\}]*\\}";
    Matcher matcher = null;
       matcher=Pattern.compile(multiComm).matcher(line); 
       if(matcher.find()){
        System.out.println("multiLn_comment"+"\t"+matcher.group());
       }

0 个答案:

没有答案