我目前正在尝试在Checkstyle中创建自己的检查。 它应该在课堂上为注释代码发出警告。与Java语法匹配的模式(Checkstyle)
现在,就评论意见的认可而言,我明白了这一切,但现在我面临着如何使其识别Java代码的问题。
是否有任何已提供这些功能的集合?只是检查某些关键字,如修饰符,类型,范围等,在某些情况下会过于模糊。
TL;博士:寻找一种方式来找出一个字符串是否是java代码或没有(模式匹配)
我目前正在尝试在Checkstyle中创建自己的检查。 它应该在课堂上为注释代码发出警告。与Java语法匹配的模式(Checkstyle)
现在,就评论意见的认可而言,我明白了这一切,但现在我面临着如何使其识别Java代码的问题。
是否有任何已提供这些功能的集合?只是检查某些关键字,如修饰符,类型,范围等,在某些情况下会过于模糊。
TL;博士:寻找一种方式来找出一个字符串是否是java代码或没有(模式匹配)
这将是非常难以确定是否行是Java代码或不作为线可以少至单个}
。也就是说,如果你想检查一个FILE是否是java,那么对你来说有一些很好的Regex选项,主要是因为你可以查看某一行的上下文。 即使你使用那些你可以制作一个特定的文件,它会被检测到,如果它是Java,但实际上并不是这样。也就是说,如果不是所有的“普通”文件,它都可以工作。
如果正则表达式是你正在寻找的,你可能想在StackOverflow上寻找类似的威胁,因为应该有一些(我前一段时间使用过一个)。然而,如果你真的想在Checkstyle中做到这一点,你可能会走运...
一个很好的启发式方法来确定大块评论代码是检查前面的空格。一个“有效”的评论通常与实际的代码缩进:
public class A {
public void a() {
// valid comment
...
}
}
尽管已经评论与CTRL-7的码块将直接与//字符开始:
public class A {
// public void a() {
// // valid comment
// ...
// }
}
因此,你的正则表达式看起来像这样
^//.*