验证Java中的代码格式

时间:2016-08-09 16:14:00

标签: java validation numbers match

我正在为学校开展一个项目,我们必须验证代码的格式。格式为3个大写字母,后跟3个数字,其中至少1个数字不是0.因此ABC001有效。 ABC000无效。

我遇到的问题是我如何编写格式来验证数字,以便在001-999有效时000无效。下面是代码,它目前是为了使000有效。

public static boolean validateInvoiceCode(String invoiceCode)
{
      return invoiceCode.matches("[A-Z][A-Z][A-Z][0-9][0-9][0-9]");
}

1 个答案:

答案 0 :(得分:5)

添加黑名单(?<!...)

的负面后视000
[A-Z][A-Z][A-Z][0-9][0-9][0-9](?<!000)

Regex101 Demo

您可能还希望使用量词来改进正则表达式,并使用\d来改善数字:

[A-Z]{3}\\d{3}(?<!000)

Regex101 Demo