我正在为学校开展一个项目,我们必须验证代码的格式。格式为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]");
}
答案 0 :(得分:5)
添加黑名单(?<!...)
:
000
[A-Z][A-Z][A-Z][0-9][0-9][0-9](?<!000)
您可能还希望使用量词来改进正则表达式,并使用\d
来改善数字:
[A-Z]{3}\\d{3}(?<!000)