我想要做的是捕获布尔变量,这些变量不会在我们的代码中对我们的标准进行确认,并使用Checkstyle打印错误消息。
// Things that should be matched
private boolean test;
private boolean test;
private boolean mtest;
boolean test;
boolean test;
// Things that should not be matched
private boolean isTest;
private boolean isTest;
private boolean mIsTest;
boolean isTest;
boolean isTest;
public boolean test() // No functions at all should be matched
我目前使用的正则表达式就是这个:
(B|b)oolean[\s]+(?!(mC|c)an|(mS|s)hould|(mA|a)re|(mD|d)id|(mI|i)s|(mM|m)ust|(mH|h)as|(mW|w)as)
有些东西已经有效了,有些东西还没有。 Here是指向网站的链接,即测试用例和正则表达式。
在变量之前和/或具有函数的情况下应用空格时,是否有人知道如何解决这种奇怪的情况?
答案 0 :(得分:2)
您可以使用此正则表达式:
(B|b)oolean\s+(?=\S)(?!(mC|c)an|(mS|s)hould|(mA|a)re|(mD|d)id|(mI|i)s|(mM|m)ust|(mH|h)as|(mW|w)as)(?!.+\(.*\))
我添加了(?=\S)
以确保\s+
匹配所有空格,并(?!.+\(.*\))
排除功能。
答案 1 :(得分:1)
为非空白(?=\S)
添加正向前瞻以停止回溯,以允许匹配您期望变量名称的第一个字符的最后一个空白,并向前添加另一个字词以排除在任何地方提前...|.*\()
:
(B|b)oolean\s+(?!(mC|c)an|(mS|s)hould|(mA|a)re|(mD|d)id|(mI|i)s|(mM|m)ust|(mH|h)as|(mW|w)as|.*\()(?=\S)
请参阅live demo
另请注意删除\s
周围不必要的方括号。
答案 2 :(得分:0)