0

我正在尝试用Java制作一个小程序,我需要它从CSS文件中删除所有注释并将它们放在jList中,最后将没有注释的CSS文件放在jTextArea中。它有点工作,例如:

/* this is a comment */ and this is not

作品:在此处输入图像描述

另一个例子:

/*
This is a comment
*/
this is not

那个也有效:在此处输入图像描述

但是,最后一个:

/*
w
w
*/

不会工作:在此处输入图像描述

将评论放在 jList 中的部分工作正常,但在 jTextArea 上显示完整的文件/源......

我不知道该怎么办,这有点令人沮丧,我希望你们能帮我一把!

如果您不知道程序中的某些单词,这里有一个简短的翻译列表:

  • 档案 > 文件
  • Abrir > 打开
  • 塞拉尔 > 关闭
  • 编译 > 编译
  • 编辑器 > 编辑器
  • 词汇 > 词汇
  • 语法 > 语法
  • 语义 > 语义
  • 评论 > 评论
  • Fuente sincommentarios > 没有评论的来源
  • Espacios en blanco > 白色空间

这是源文件https://gist.github.com/3929988(CompiladorGUI.java和 regex.java)。

我真的很感激任何帮助!提前致谢。

PS:对不起我的英语。如您所见,西班牙语是我的主要语言。

4

2 回答 2

1

不要尝试自己解析 CSS。有现成的 CSS 解析器。看看这个讨论开始:寻找Java中的CSS解析器

于 2012-10-22T06:51:06.450 回答
1

您的正则表达式与多行不匹配。将属性的值更改patron

private String patron = "/\\*((.|[\\n\\r])+)?\\*/";
于 2012-10-22T06:55:47.357 回答