Проверьте формат кода в Java
Я работаю над проектом для школы, в котором мы должны проверить формат кода. Формат состоит из 3 заглавных букв, за которыми следуют 3 цифры, где хотя бы 1 цифра не равна 0. Таким образом, ABC001 действителен. ABC000 недействителен.
Я застрял в том, как я напишу формат для проверки цифр, так что 000 будет недействительным, а 001-999 - действительным. Ниже приведен код, в настоящее время он написан так, что 000 является действительным.
public static boolean validateInvoiceCode(String invoiceCode)
{
return invoiceCode.matches("[A-Z][A-Z][A-Z][0-9][0-9][0-9]");
}
1 ответ
Решение
Добавить отрицательный взгляд назад (?<!...)
что черные списки 000
:
[A-Z][A-Z][A-Z][0-9][0-9][0-9](?<!000)
Вы также можете улучшить свое регулярное выражение с помощью квантификаторов, и \d
для цифр:
[A-Z]{3}\\d{3}(?<!000)