В этом уроке по регулярным выражениям Java мы научимся использовать регулярное выражение для проверки канадских почтовых индексов. Вы можете изменить регулярное выражение, чтобы оно подходило для любого другого формата.
1. Что такое действительный канадский почтовый индекс?
Канадский почтовый индекс представляет собой строку из шести символов.
Действительный канадский почтовый индекс —
- в формате A1A 1A1, где A — буква, а 1 — цифра.
- Третий и четвертый символы разделяются пробелом.
- не включайте буквы D, F, I, O, Q или U.
- в первой позиции не используются буквы W или Z.
2. Регулярное выражение для канадского почтового индекса
^(?!.*[DFIOQU])[A-VXY][0-9][AZ] ?[0-9][AZ][0-9]$
- В приведенном выше регулярном выражении отрицательный просмотр вперед в начале этого регулярного выражения предотвращает появление символов D, F, I, O, Q или U в любой части строки объекта.
- Класс символов <[A-VXY]> также не допускает использования W или Z в качестве первого символа.
3. Пример
List<String> zips = new ArrayList<String>();//Valid ZIP codeszips.add("K1A 0B1");zips.add("B1Z 0B9");//Invalid ZIP codeszips.add("K1A 0D1");zips.add("W1A 0B1");zips.add("Z1A 0B1");String regex = "^(?!.*[DFIOQU])[A-VXY][0-9][A-Z] ?[0-9][A-Z][0-9]$";Pattern pattern = Pattern.compile(regex);for(String zip : zips){Matcher matcher = pattern.matcher(zip);System.out.println(matcher.matches());}
истинныйистинныйЛОЖЬЛОЖЬ
Это было довольно просто, не правда ли?