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