2016-07-27 101 views
-1

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

<module name="RegexpMultiline"> 
    <property name="format" value="(?s)(([email protected]).)*@Inject.*@Inject.*"/> 
</module>  

在这个例子的结果是假的,但如果u从目标文本删除@Configuration则结果为真 - 好。 Checkstyle总是生成真实的。

example regex test

回答

1

RegexpMulitiline检查是根据find(),看到checks/regexp/MultilineDetector.java#L95

实际上,您的示例显示有Find结果(尽管如此,没有Match)。您需要适应您的模式,以便为Find返回任何内容。