Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.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 邮政编码的正则表达式_Java_Android - Fatal编程技术网

Java 邮政编码的正则表达式

Java 邮政编码的正则表达式,java,android,Java,Android,我需要从地址中提取6位数的邮政编码 “Bras Basah路51号#01-01宏利中心新加坡189554” 邮政编码始终是6位数字,但不一定在地址的最后一位 请帮我提供一个合适的“java”正则表达式,以便从上述地址获取邮政编码 Asmi如果您可以确定输入的邮政编码是唯一的6位数字,您应该能够避免: Pattern zipPattern = Pattern.compile("(\\d{6})"); Matcher zipMatcher = zipPattern.matcher("51 Bras

我需要从地址中提取6位数的邮政编码

“Bras Basah路51号#01-01宏利中心新加坡189554”

邮政编码始终是6位数字,但不一定在地址的最后一位

请帮我提供一个合适的“java”正则表达式,以便从上述地址获取邮政编码


Asmi

如果您可以确定输入的邮政编码是唯一的6位数字,您应该能够避免:

Pattern zipPattern = Pattern.compile("(\\d{6})");
Matcher zipMatcher = zipPattern.matcher("51 Bras Basah Road #01-01 Manulife Centre Singapore 189554");
if (zipMatcher.find()) {
    String zip = zipMatcher.group(1);
}

另请参见。

如果您可以确定邮政编码是输入中唯一的6位数字,则您应该能够避免:

Pattern zipPattern = Pattern.compile("(\\d{6})");
Matcher zipMatcher = zipPattern.matcher("51 Bras Basah Road #01-01 Manulife Centre Singapore 189554");
if (zipMatcher.find()) {
    String zip = zipMatcher.group(1);
}
另请参见。

这里是简单的regexp

(.*)(\d{6})$

第一组为“新加坡巴沙路51号#01-01宏利中心” 第二组是邮政编码(6位)

这里是简单的regexp

(.*)(\d{6})$

第一组为“新加坡巴沙路51号#01-01宏利中心”
第二组是邮政编码(6位)

这里有一个正则表达式,可以找到最后的6位数字:

((\d{6}.*)*\s)?(\d{6})([^\d].*)?$
当然,在编译模式时需要转义字符串:

Pattern postal_code_group3 = Pattern.compile("((\\d{6}.*)*\\s)?(\\d{6})([^\\d].*)?$");
您可以从任何匹配的组3中获取邮政编码

请注意,组2强制在邮政编码前加上空格,除非字符串以邮政编码开头


第4组负责处理邮政编码后的任何内容,并防止尾随的7位或以上数字与邮政编码匹配。

下面是一个正则表达式,它将查找最后的6位数字:

((\d{6}.*)*\s)?(\d{6})([^\d].*)?$
当然,在编译模式时需要转义字符串:

Pattern postal_code_group3 = Pattern.compile("((\\d{6}.*)*\\s)?(\\d{6})([^\\d].*)?$");
您可以从任何匹配的组3中获取邮政编码

请注意,组2强制在邮政编码前加上空格,除非字符串以邮政编码开头



第4组负责处理邮政编码后的任何内容,并防止尾随的7位或以上数字与邮政编码匹配。

请展示您的努力。。。您说邮政编码可能不是地址的最后6个字符。提供一些这样的地址的例子,这样正则表达式就可以适当地缩小。是的,但他没有提到是否只有邮政编码可以是6位数字。我想知道它是否总是最后一个6位数的序列…是的,它总是6位数的,它只适用于一个国家最可能的邮政编码是只有一个6位数的,完整地址中没有空格。请展示您的努力。。。您说邮政编码可能不是地址的最后6个字符。提供一些这样的地址的例子,这样正则表达式就可以适当地缩小。是的,但他没有提到是否只有邮政编码可以是6位数字。我想知道它是否总是最后的6位序列…是的,它将始终是6位的,它只适用于一个国家最可能的邮政编码是只有一个6位的,完整地址中没有空格。结尾的
$
不要求邮政编码是最后6个字符吗?如果是这样,那就不是OP想要的。@rkb谢谢你的帮助answer@DilumRanatunga是的,邮政编码并不总是在地址的最后一个,所以我想要一些适合的东西purpose@DilumRanatunga是的,假设我们有6个结尾($)的数字,结尾的
$
不是要求邮政编码是最后6个字符吗?如果是这样,那就不是OP想要的。@rkb谢谢你的帮助answer@DilumRanatunga是的,邮政编码并不总是在地址的最后一个,所以我想要一些适合的东西purpose@DilumRanatunga好吧,假设我们有6位结尾($),我已经测试了我的更正后的示例代码。对于您的示例,它工作正常。我更正了第3行以调用
find()
,而不是
matches()
。你试过哪个版本?输入是什么?我已经测试了更正后的示例代码。对于您的示例,它工作正常。我更正了第3行以调用
find()
,而不是
matches()
。你试过哪个版本?输入是什么?