19

我想使用以下常量:

final String ADD = "Add text";

但我的 CheckStyle 工具告诉我“添加”与模式不匹配'^[a-z][a-zA-Z0-9]*$'.

谁能告诉我“添加”有什么问题?意味着'^[a-z][a-zA-Z0-9]*$'每个名字都必须以低字符开头?难道就没有其他可能了吗?

感谢您的回答。

4

4 回答 4

36
^[a-z][a-zA-Z0-9]*$

这个正则表达式描述了以小写字母开头的东西,其余部分由大写字母、小写字母和数字组成。(例如:aVariable, variable, aNewVariable, variable7, aNewVariable7.)

如果您希望您的字段保持不变和静态,请使用:

static final String ADD = "Add text";

否则,使用:

final String add = "Add text";
于 2012-10-30T20:06:51.517 回答
8

如果它是你想要的常数,它也应该是static

static final String ADD = "Add text";

常量通常使用大写字母,但由于您的变量不是静态的,它不会被解释为常量。

于 2012-10-30T20:05:57.753 回答
1

这个正则表达式表明需要驼峰式,第一个字母很小,然后每个下一个单词都将第一个字母作为大写字母。

于 2020-10-15T10:56:15.953 回答
0

我刚刚遇到了同样的问题,事实证明这是因为我正在研究的 Java 代码库期望对所有变量使用驼峰式大小写作为命名约定。因此,请务必检查您的变量是否根据正则表达式模式命名^[a-z]([a-z0-9][a-zA-Z0-9]*)?$。就我而言,我陷入了 Python 模式,并且我的变量被命名version_regexversionRegex. 一旦我进行了必要的更正,就不再抛出错误。

于 2021-12-28T15:51:48.707 回答