使用javascript正则表达式提取字符串

时间:2017-03-16 02:57:57

标签: javascript regex

鉴于


"4 John Smith Rd., Pasadena 94786"
"4 John Smith Rd., North Pasadena 94786".

以下正则表达式无法提取数组索引0中的City和数组索引中的邮政编码。

如何解决? thx

doc.address.match(/, (\w+) +(\d{5})/g);

3 个答案:

答案 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+)/);

.,不匹配,然后匹配其后的任何字词,然后匹配邮政编码