我正在尝试为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());
}