0

我正在 Eclipse 中进行 java checkstyle 配置。我需要为第一行中不包含特定代码的所有公共方法添加警告。例子:

public void doA(){
    blabla();
    //some code
}

public String doB(int i){
    blabla();
    //some code
}

public Boolean doC(String str){
    //some code
}

我对 checkstyle 的要求是在存在具有 public 修饰符且不以调用 blabla() 方法开头的方法时标记该行或报告错误。我试图用 /n 作为换行符制作一些多行正则表达式字符串,但到目前为止没有成功。

编辑:到目前为止,我尝试了这个但没有成功:

<module name="RegexpMultiline">
    <property name="format" value="(public)(\\s+)((?:[a-z][a-z0-9_]*))(\\s+)((?:[a-z][a-z0-9_]*))(\\(.*\\))(\\{)(/n)(blablabla)"/>
    <property name="message" value="Public method should have blablabla."/>
</module>
4

1 回答 1

2

在搜索模式中使用 Pattern.MULTILINE 指令:"(?m)...\\s*..."。这会跨行应用模式。

在搜索模式中使用 Pattern.DOTALL 指令:"(?s)...\\s*..."。这会捕获 '\n with a.`。

结合使用:"(?ms)...".

于 2013-01-02T14:34:44.333 回答