Регулярное выражение (?) — как разобрать почтовые индексы из текста?

StackOverflow https://stackoverflow.com/questions/469515

  •  19-08-2019
  •  | 
  •  

Вопрос

У меня есть файл, содержащий мешанину городов, штатов и почтовых индексов.Пример:

Мансон 11010 Шелтер Айленд Хайтс.....11965 Брентвуд 11717 Хейлсайт 11743

Мне нужно извлечь все почтовые индексы из этого текста.Они состоят всего из 5 цифр (нет 5 + 4), и других цифр, кроме почтовых индексов, нет.Это кажется довольно простым регулярным выражением, но я вообще понятия не имею, как создать это выражение.

Я немного знаю PHP, так что это мой предпочтительный язык, если это возможно.В идеале я бы хотел, чтобы он отображал выходные данные по 1 zip-файлу в строке, чтобы я мог копировать / вставлять во что-то вроде Excel.

Спасибо за любую помощь!

Это было полезно?

Решение

Следующий код должен направить вас в правильном направлении:

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

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

print_r($matches);
?>

Другие советы

preg_match_all('[^0-9]([0-9]{5})[^0-9]', $input, $out);
foreach($out as $val)
    echo $val[1] . "\n";

Отлично!Большое спасибо - вот что я в итоге использовал:

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

foreach($matches[0] as $zip){
    echo $zip.'<br/>';
    };
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top