This won't solve your problem, but if
you only needed lat/long data for
these addresses, the Google Maps API
will parse non-formatted addresses
pretty well.
Good suggestion, alternatively you can execute a CURL request for each address to Google Maps and it will return the properly formatted address. From that, you can regex to your heart's content.