Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将邮政地址与iso字母代码和邮政编码匹配?_Java_Regex - Fatal编程技术网

Java 如何将邮政地址与iso字母代码和邮政编码匹配?

Java 如何将邮政地址与iso字母代码和邮政编码匹配?,java,regex,Java,Regex,我想使用正则表达式验证和提取具有国家iso字母代码和邮政编码的邮政地址的值,格式如下: DE-12345 到目前为止,我想出了:[a-zA-Z]{2}-\d+ 我能改进一下吗 进一步的问题:我只能使用什么正则表达式来提取 这两个字母 只有数字 ? 改进取决于邮政地址周围有什么。。。例如,如果它们被一整页的文本包围,那么您使用的正则表达式就会有所不同 目前,您的正则表达式工作得非常好 我能想到的唯一一件事是,你可以抓取所有有效国家代码的列表,然后做一个巨大的替换,这样只有有效的代码可以匹配 要提

我想使用正则表达式验证和提取具有国家iso字母代码和邮政编码的邮政地址的值,格式如下:

DE-12345

到目前为止,我想出了:
[a-zA-Z]{2}-\d+

我能改进一下吗

进一步的问题:我只能使用什么正则表达式来提取

  • 这两个字母

  • 只有数字 ?


改进取决于邮政地址周围有什么。。。例如,如果它们被一整页的文本包围,那么您使用的正则表达式就会有所不同

目前,您的正则表达式工作得非常好

我能想到的唯一一件事是,你可以抓取所有有效国家代码的列表,然后做一个巨大的替换,这样只有有效的代码可以匹配

要提取字母和数字,请将它们包装在捕获组中:

([a-zA-Z]{2})-(\d+)


第一个括号是第1组,第二个括号是第2组。

改进取决于邮政地址周围有什么。。。例如,如果它们被一整页的文本包围,那么您使用的正则表达式就会有所不同

目前,您的正则表达式工作得非常好

我能想到的唯一一件事是,你可以抓取所有有效国家代码的列表,然后做一个巨大的替换,这样只有有效的代码可以匹配

要提取字母和数字,请将它们包装在捕获组中:

([a-zA-Z]{2})-(\d+)


第一个括号是第1组,第二个括号是第2组。

改进取决于邮政地址周围有什么。。。例如,如果它们被一整页的文本包围,那么您使用的正则表达式就会有所不同

目前,您的正则表达式工作得非常好

我能想到的唯一一件事是,你可以抓取所有有效国家代码的列表,然后做一个巨大的替换,这样只有有效的代码可以匹配

要提取字母和数字,请将它们包装在捕获组中:

([a-zA-Z]{2})-(\d+)


第一个括号是第1组,第二个括号是第2组。

改进取决于邮政地址周围有什么。。。例如,如果它们被一整页的文本包围,那么您使用的正则表达式就会有所不同

目前,您的正则表达式工作得非常好

我能想到的唯一一件事是,你可以抓取所有有效国家代码的列表,然后做一个巨大的替换,这样只有有效的代码可以匹配

要提取字母和数字,请将它们包装在捕获组中:

([a-zA-Z]{2})-(\d+)


第一个括号是第1组,第二个括号是第2组。

忽略了每个国家都有完全不同的格式这一事实

要获得java中匹配的部分,请将它们用括号括起来,然后选择组

Pattern p = Pattern.compile("([a-zA-Z]{2})-(\d+)");
Matcher m = p.matcher("DE-123");
if (m.matches()) {
  String letters = m.group(1);
  String numbers = m.group(2);
}

忽略每个国家都有完全不同的格式这一事实

要获得java中匹配的部分,请将它们用括号括起来,然后选择组

Pattern p = Pattern.compile("([a-zA-Z]{2})-(\d+)");
Matcher m = p.matcher("DE-123");
if (m.matches()) {
  String letters = m.group(1);
  String numbers = m.group(2);
}

忽略每个国家都有完全不同的格式这一事实

要获得java中匹配的部分,请将它们用括号括起来,然后选择组

Pattern p = Pattern.compile("([a-zA-Z]{2})-(\d+)");
Matcher m = p.matcher("DE-123");
if (m.matches()) {
  String letters = m.group(1);
  String numbers = m.group(2);
}

忽略每个国家都有完全不同的格式这一事实

要获得java中匹配的部分,请将它们用括号括起来,然后选择组

Pattern p = Pattern.compile("([a-zA-Z]{2})-(\d+)");
Matcher m = p.matcher("DE-123");
if (m.matches()) {
  String letters = m.group(1);
  String numbers = m.group(2);
}

严格来说,邮政编码是美国境内使用的邮政编码/邮政编码系统

验证国际邮政编码/邮政编码将是一件棘手的事情。不同的国家使用完全不同的系统,允许使用不同的字符、不同的字符数和不同的“标点符号”。甚至美国邮政系统也使用两种形式的邮政编码;i、 e.5位和5+4位


的维基百科页面列出了许多国家的格式,但您可能需要进一步研究。

严格来说,邮政编码是美国境内使用的邮政编码/邮政编码系统

验证国际邮政编码/邮政编码将是一件棘手的事情。不同的国家使用完全不同的系统,允许使用不同的字符、不同的字符数和不同的“标点符号”。甚至美国邮政系统也使用两种形式的邮政编码;i、 e.5位和5+4位


的维基百科页面列出了许多国家的格式,但您可能需要进一步研究。

严格来说,邮政编码是美国境内使用的邮政编码/邮政编码系统

验证国际邮政编码/邮政编码将是一件棘手的事情。不同的国家使用完全不同的系统,允许使用不同的字符、不同的字符数和不同的“标点符号”。甚至美国邮政系统也使用两种形式的邮政编码;i、 e.5位和5+4位


的维基百科页面列出了许多国家的格式,但您可能需要进一步研究。

严格来说,邮政编码是美国境内使用的邮政编码/邮政编码系统

验证国际邮政编码/邮政编码将是一件棘手的事情。不同的国家使用完全不同的系统,允许使用不同的字符、不同的字符数和不同的“标点符号”。甚至美国邮政系统也使用两种形式的邮政编码;i、 e.5位和5+4位


的Wikipedia页面列出了许多国家的格式,但您可能需要进一步研究。

考虑到一些国家的邮政编码中也使用字母。(以阿伯丁为例)嗯。。。许多国家没有5位数的邮政编码。我的(印度)没有6位数的字母表。你能保证字符串的准确格式吗?接受吧