RegEx (?) & # 8212; ¿Cómo analizar los códigos postales fuera del texto?

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

  •  19-08-2019
  •  | 
  •  

Pregunta

Tengo un archivo que contiene una mezcla de ciudades, estados y códigos postales. Ejemplo:

  

Munson 11010 Shelter Island Heights. . . .. 11965   Brentwood 11717 Halesite 11743

Necesito tomar todos los códigos postales de ese texto. Son solo 5 dígitos (no 5 + 4), y no hay otros números además de las cremalleras. Parece algo bastante sencillo de expresiones regulares, pero no tengo ni idea de cómo hacer la expresión.

Conozco algunos PHP, así que ese es mi lenguaje preferido, si es posible. Idealmente, me gustaría que muestre la salida 1-zip-por-línea para poder copiar / pegar en algo como Excel.

¡Gracias por cualquier ayuda!

¿Fue útil?

Solución

El siguiente código debe enviarlo en la dirección correcta:

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

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

print_r($matches);
?>

Otros consejos

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

¡Genial! Muchas gracias. Esto es lo que terminé usando:

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

foreach($matches[0] as $zip){
    echo $zip.'<br/>';
    };
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top