checkstyle正则表达式无效

时间:2016-07-27 09:44:18

标签: java regex checkstyle

这个正则表达式应该找到没有' @Configuration'单词和多个' @Inject'字。在java Matcher中它可以工作,但不适用于checkstyle。

<module name="RegexpMultiline">
    <property name="format" value="(?s)((?!@Configuration).)*@Inject.*@Inject.*"/>
</module>    

在此示例中,结果为false,但如果您从目标文本中删除@Configuration,则结果为真 - 很好。 Checkstyle总是产生真实。

example regex test

1 个答案:

答案 0 :(得分:1)

RegexpMulitiline检查基于find(),请参阅checks/regexp/MultilineDetector.java#L95

确实,您的示例显示结果为Find(尽管没有Match)。你需要适应你的模式,也不需要为Find返回任何内容。