🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Java 正则表达式 – 加拿大邮政编码验证 > 原文: [https://howtodoinjava.com/regex/canada-postal-code-validation/](https://howtodoinjava.com/regex/canada-postal-code-validation/) 在此 [Java 正则表达式教程](https://howtodoinjava.com/java-regular-expression-tutorials/)中,我们将学习使用**正则表达式来验证加拿大的邮政编码**。 您也可以修改正则表达式以使其适合任何其他格式。 ## 1\. 什么是有效的加拿大邮政编码 加拿大邮政编码是一个六位字符的字符串,构成加拿大邮政地址的一部分。 有效的加拿大邮政编码为: * 格式为`A1A 1A1`,其中 A 是字母,1 是数字。 * 用空格分隔第三个和第四个字符。 * 不要包含字母 D,F,I,O,Q 或 U。 * 第一个位置不使用字母 W 或 Z。 > 正则表达式:`^(?!.*[DFIOQU])[A-VXY][0-9][A-Z] ?[0-9][A-Z][0-9]$` 在正则表达式之上,此正则表达式开头的负前瞻可防止在主题字符串中的任何位置出现 D,F,I,O,Q 或 U。`[A-VXY]`字符类进一步防止 W 或 Z 作为第一个字符。 ## 2\. 加拿大邮政编码验证示例 ```java List<String> zips = new ArrayList<String>(); //Valid ZIP codes zips.add("K1A 0B1"); zips.add("B1Z 0B9"); //Invalid ZIP codes zips.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()); } Output: true true false false ``` 那很容易,对吗? 向我提供有关*如何使用正则表达式*验证加拿大邮政编码的问题。 学习愉快!