Regexp para extraer códigos postales de datos de direcciones CSV

Regexp para extraer códigos postales de datos de direcciones CSV

Tengo datos CSV con uno de los campos que contiene direcciones enviadas por el cliente, y algunas entradas solo contienen códigos postales, no todas con el mismo formato, mientras que algunas contienen direcciones y códigos postales.

p.ej

"Dt29bu"

"hp17 9tn"

"Dirección basura, Barnet, Londres N12 0QF"

"S8 0ZW"

Me gustaría poder extraer solo los códigos postales en un campo separado y formatearlos de manera que:

-si tienen 5 caracteres, en formato XX XXX

-si tienen 6 caracteres, en formato XXX XXX

-si tienen 7 caracteres, en formato XXXX XXX

Luego puedo convertirlos a longitud/latitud.

Estoy usando OSX, por lo que la funcionalidad Excel-VBA Regex no está disponible para mí. ¿Cuál es la mejor manera para mí de hacer esto?

información relacionada