CheckStyle的正则表达式忽略了最小属性

时间:2012-02-24 23:08:22

标签: regex checkstyle

基于http://checkstyle.sourceforge.net/config_regexp.html

我试图找到相同字符串的硬编码出现。这是重复的。

它返回所有具有硬编码字符串的行,但它似乎并不关心“最小”属性。

我只需要一次发生一次。这是我的自定义检查

    < module name="RegexpSinglelineJava">
        < property name="format" value="&quot;*&quot;"/>
        < property name="minimum" value="2"/>
    < /module>    

由于

1 个答案:

答案 0 :(得分:0)

minimum属性不是相等字符串的计数:

minimum       The minimum number of matches required in each file.

您可以使用如下表达式:

(?s)("(?:[^"\\]+|\\.)*")(?=.*?\1)

RegexpMultiline。虽然这可能效率不高。

类似的东西:

<module name="RegexpMultiline">
  <property name="format" value='(?s)("(?:[^"\\]+|\\.)*")(?=.*?\1)'/>
</module>