2009-05-22 6 views
2

Salut, les gars. Je cherche des expressions régulières pour aider à saisir des adresses de rue et des numéros de téléphone à partir de texte libre (à la Gmail).Extraction des adresses de rue/numéros de téléphone internationaux à partir du texte libre

Compte tenu du texte: "John, I went to the store today, and it was awesome! Did you hear that they moved to 500 Green St.? ... Give me a call at +14252425424 when you get a chance."

Je voudrais être en mesure de se retirer:

500 Green St. (reconnu comme une adresse de rue)

+14252425424 (reconnu comme un numéro de téléphone)

Ce qui rend ce problème plus facile, c'est que je ne me soucie pas de l'analyse du texte qui est retiré. C'est-à-dire, je m'en fiche que Green est le nom de la route ou que 425 est l'indicatif régional. Je veux juste attraper des chaînes qui ressemblent à des adresses ou à des numéros de téléphone. Malheureusement, cela doit fonctionner au niveau international, aussi bien que possible.

Quelqu'un a des intérêts potentiels? Merci!

+1

Obligatoire: http://xkcd.com/208/ –

Répondre

1

Les numéros de téléphone aussi longtemps que vous avez une liste de tous les codes de pays et formats numériques est facile, les adresses de rue je ne sais pas, le seul conseil que je peux vous donner est de valider chaque ensemble de mots @ addressdoctor.com

0

Jetez un coup d'œil à Chapter 7 of Dive Into Python. Il touche à la fois les numéros de téléphone et les adresses de rue. Je crois que vous pouvez utiliser cela comme point de départ. La partie internationale semble dure. Je vous suggère de créer un premier brouillon, de l'essayer sur plusieurs sites, de l'itérer et de l'améliorer.

+0

Ah, mais j'imagine que ce problème est déjà résolu. Connaissez-vous des expressions régulières déjà existantes que je pourrais employer? Merci. – spitzanator

+0

Eh bien, vous pouvez vérifier http://regexlib.com/. C'est la source n ° 1 de solutions regex pour les problèmes qui ne devraient pas être résolus avec les regex. ;) –

+0

Alan, cela ressemble à une excellente ressource, merci. La recherche de cursus m'a donné plusieurs regexes de numéros de téléphone internationaux; Aucune adresse de rue internationale, cependant. Je crois toujours que c'est dur. –

1

Vous pouvez essayer RecogniContact (->address-parser.com), il reconnaît à la fois les adresses postales et les numéros de téléphone.

Questions connexes