【发布时间】:2019-02-22 22:56:04
【问题描述】:
我正在尝试创建一个 checkstyle 规则,以防止从下面的行中使用“Company.INSTANCE.getProduct”。
private final Customer customerObj = Company.
INSTANCE.getProduct();
我在 checkstyle xml 中添加了以下模块。
<module name="RegexpMultiline">
<property name="format" value="Company[\s\n\r\R]*\.[\s\n\r\R]*INSTANCE[\s\n\r\R]*\.[\s\n\r\R]*getProduct"/>
<property name="message" value="Do not use Company Instance."/>
</module>
但是,它不适用于上面示例中的多行语句。我在这里做错了什么?我的正则表达式在 regex101.com 中测试过
【问题讨论】:
-
尝试在正则表达式
value="(?m)Company[\s\n\r\R]*\.[\s\n\r\R]*INSTANCE[\s\n\r\R]*\.[\s\n\r\R]*getProduct"中开启多行标志
标签: java regex eclipse checkstyle maven-checkstyle-plugin