我在做Android。我一直在使用正则表达式来搜索新加坡地址。我遇到了很多正则表达式模式,但所有这些都不适用于我,因为大多数都是针对美国地址的。
我现在使用的当前正则表达式模式是:
\d{1,3}.?\d{0,3}\s[a-zA-Z]{2,30}\s[a-zA-Z]{2,15}
没有做太多。以下是新加坡地址的一些示例:
2 Orchard Turn #B4-47 ION ORCHARD Singapore 238801
68 Marine Parade Road #03-26B parkway Parade 449269
Nanyang Polytechnic 180 Ang Mo Kio Avenue 8 Singapore 569830
附加说明:每个地址都会显示邮政编码(后面有6位数字)
-------------------------------------------- ---- EDIT ---------------------------------------- < / p>
我需要一个可以从文本输出中检测和提取地址的正则表达式,还有其他信息。
例如:
Jean Watson
Managing Director
+65 96622235
68 Marine Parade Road #03-26B parkway Parade 449269
答案 0 :(得分:1)
我有这个给你:)满足你的所有3个输入
(\d{1,3}.)?.+\s(\d{6})$
正则表达式解释:
(\ d {1,3}。) - 这匹配至少1位或最多3位
? - 将其设为0或1
。+ - 匹配任何字符1次或多次
\ s - 匹配单个空格
(\ d {6})$ - 匹配以6位数结尾
答案 1 :(得分:0)
以下模式:
^.+?(?<!\d)\d{6}$
将匹配以下行: