我正在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得到的是当有方法具有公共修饰符并且不以调用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>
答案 0 :(得分:2)
在搜索模式中使用Pattern.MULTILINE指令:"(?m)...\\s*..."
。这将跨线应用模式。
在搜索模式中使用Pattern.DOTALL指令:"(?s)...\\s*..."
。这会捕获'\ n with a
。。。
结合使用:"(?ms)..."
。