Этот урок по регулярным выражениям Java научит нас использовать регулярные выражения для проверки почтовых индексов США. Вы можете изменить регулярное выражение, чтобы оно подходило для любого другого формата.
1. Действительный шаблон почтового индекса США
Почтовый индекс США(US ZIP code) допускает как пятизначный, так и девятизначный формат(называемый ZIP + 4).
Например, действительный почтовый индекс должен соответствовать 12345 и 12345-6789, но не 1234, 123456, 123456789 или 1234-56789.
Регулярное выражение: ^[0-9]{5}(?:-[0-9]{4})?$
^ # Assert position at the beginning of the string.[0-9]{5} # Match a digit, exactly five times.(?: # Group but don't capture:- # Match a literal "-".[0-9]{4} # Match a digit, exactly four times.) # End the non-capturing group.? # Make the group optional.$ # Assert position at the end of the string.
2. Пример проверки почтового индекса США
List<String> zips = new ArrayList<String>();//Valid ZIP codeszips.add("12345"); //truezips.add("12345-6789"); //true//Invalid ZIP codeszips.add("123456"); //falsezips.add("1234"); //falsezips.add("12345-678"); //falsezips.add("12345-67890"); //falseString regex = "^[0-9]{5}(?:-[0-9]{4})?$";Pattern pattern = Pattern.compile(regex);for(String zip : zips){Matcher matcher = pattern.matcher(zip);System.out.println(matcher.matches());}
Это было довольно просто, не так ли? Пишите мне свои вопросы, связанные с проверкой почтового индекса США с помощью регулярных выражений.