1

我有一个包含城市、州和邮政编码的文件。例子:

芒森 11010 Shelter Island Heights。. . .. 11965 布伦特伍德 11717 硬卤石 11743

我需要从该文本中获取所有邮政编码。它们只有 5 位数字(没有 5+4),除了拉链之外没有其他数字。这似乎是一个非常简单的正则表达式,但我根本不知道如何表达。

如果可能的话,我知道一些 PHP,所以这是我的首选语言。理想情况下,我希望它显示输出 1-zip-per-line,以便我可以复制/粘贴到 Excel 之类的文件中。

谢谢你的帮助!

4

3 回答 3

3
preg_match_all('[^0-9]([0-9]{5})[^0-9]', $input, $out);
foreach($out as $val)
    echo $val[1] . "\n";
于 2009-01-22T15:18:28.623 回答
0

以下代码应该向您发送正确的方向:

<?php
$str = 'Munson 11010 Shelter Island Heights. . . .. 11965 Brentwood 11717 Halesite 11743 ';

preg_match_all("/\d{5}/", $str, $matches);

print_r($matches);
?>
于 2009-01-22T15:21:02.050 回答
0

伟大的!非常感谢 - 这是我最终使用的:

preg_match_all("/\d{5}/", $input, $matches);

foreach($matches[0] as $zip){
    echo $zip.'<br/>';
    };
于 2009-01-22T15:33:47.190 回答