1 nécessitant l'analyse des documents juridiques pour trouver une adresse à l'intérieur. Ci-dessous un exempleRails pour motif regex domicile
test = « 9999 les carottes lorem de ipsum, des rabais améliorés, mais ils le temps et la vitalité occaecat, comme le travail et l'obésité. Au fil des ans viennent, qui nostrud exercice, le travail du district scolaire 123 un oiseau 12 e, une ville, NY, 10005, mais à aliquip ex ea commodo consequat. Duis, cependant, cupidatat douleur à trouver dans le plaisir d'un désir d'être 124 une grêle, 12 e, une ville, NY, 10005cillum et dolore magna fuir ne produit pas obtenu. Excepteur ils sont noirs cupidatat pas excepteur sont à blâmer pour ces services ne esprit doux qui est la fatigue. carottes Lorem ipsum, des rabais améliorés sed125 un oiseau 12 st, une ville, NY, 10005 donner le temps de occaecat et de vitalité au travail 126 quelque chose quelque chose, une ville, New York et dolore magna aliqua. enim ad minim Ut, je viendrai, qui sera nostrud exercice, aliquip hors de son l'avantage des efforts de relance si le district scolaire comme un problème. Vous voulez être une douleur dans le cupidatat cillum a été critiqué dans le Duis et dolore magna fuyez ne produit aucun plaisir résultant. Excepteur sont noirs cupidatat pas excepteur sont à blâmer pour ces services ne esprits doux que cela va changer. «
tmp = test.scan(/(\d{3,6})(.*?)(\d{5})/)
tmp.each do |t|
puts t.join()
end
Normalement, les adresses commencerait par un numéro et se terminer par un code postal, mais dans ces documents est pas toujours le cas
le problème est que certains 1 manquez et d'obtenir des résultats indésirables comme:.
9999 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris 123 some ave 12 st, some city, NY, 10005
124 some ave 12 st, some city, NY, 10005
125 some ave 12 st, some city, NY, 10005
126 SOMETHING SOMETHING, SOME CITY, NEW YORK et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum 11111
ce que 1 voudrait est un tableau des 4 éléments suivants:
123 some ave 12 st, some city, NY, 10005
124 some ave 12 st, some city, NY, 10005
125 some ave 12 st, some city, NY, 10005
126 SOMETHING SOMETHING, SOME CITY, NEW YORK
Quant au dernier élément 1 suis assez sûr que toutes les adresses au format comme celui-ci finiraient soit « New York » ou « NY ».
pense que mon motif cible est 1:
/(ANY DIGITS BETWEEN 3 AND 6)(AT LEAST 3 WORDS BUT NOT MORE THAN 10)((TRY FIRST ZIPCODE)|(IF NO ZIP CODE THEN TRY "NEW YORK" OR "NY"))/i
Toute aide serait grandement apprécié.
Voir cette question et la réponse de Matt: http://stackoverflow.com/questions/9397485/regex-street -address-match – michaelmichael
Regardé l'application smarty street, génial, mais il déduit mon compte par plus d'adresses qu'il ne le trouve donc lors de l'analyse d'un document réel qui devrait produire 3 adresses valides, il a consommé 7 demandes. À ce rythme, cela coûterait trop cher. De plus, il manque des adresses qui ressemblent à "someText127 some street, some city, NY, 10005", notez qu'il n'y a pas d'espace entre le texte et le début du numéro de la maison. – pcasa
Droite. Comme l'indique la réponse liée, les adresses de rue ne sont pas une langue régulière. Extraire de manière fiable des adresses de rue à partir de documents juridiques en utilisant simplement des expressions régulières n'est pas réalisable. Il sera très sujet aux erreurs. – michaelmichael