:
"4 John Smith Rd., Pasadena 94786"
或
"4 John Smith Rd., North Pasadena 94786".
以下正则表达式无法提取数组索引0中的City和数组索引中的邮政编码。
如何解决? thx
doc.address.match(/, (\w+) +(\d{5})/g);
答案 0 :(得分:1)
var address = ["4 John Smith Rd., Pasadena 94786",
"4 John Smith Rd., North Pasadena 94786"
]
for(var i in address){
console.log(address[i].match(/, (.+)? +(\d{5})/));
}

group1是city,group2是邮政编码。
答案 1 :(得分:0)
如果match
成功,则捕获将从第一个索引开始。尝试:
var result = docs.address.match(/, ([\w ]+) (\d{5})/i);
var city = result[1];
var zip = result[2];
但这是非常天真的地址解析。有专门的图书馆。
答案 2 :(得分:0)
这将匹配.,
var rs = docs.address.match(/[^\.\,](\w+ ){1,}(\d+)/);
与.
和,
不匹配,然后匹配其后的任何字词,然后匹配邮政编码