3
我試圖把它用pyparsing
的成分解析部分標準化的街道地址。我想要非貪婪地匹配一個可能是N個令牌的街道名稱。PyParsing非貪婪匹配
例如:
444 PARK GARDEN LN
應該被解析成:
number: 444
street: PARK GARDEN
suffix: LN
我將如何做到這一點與PyParsing?這是我最初的代碼:
from pyparsing import *
def main():
street_number = Word(nums).setResultsName('street_number')
street_suffix = oneOf("ST RD DR LN AVE WAY").setResultsName('street_suffix')
street_name = OneOrMore(Word(alphas)).setResultsName('street_name')
address = street_number + street_name + street_suffix
result = address.parseString("444 PARK GARDEN LN")
print result.dump()
if __name__ == '__main__':
main()
但是當我試圖解析它,街道後綴得到由默認的貪婪解析行爲吞併。
很不錯的答案,希望我可以給第二個給予好評的替代形式'setResultsName'尖端。到OP:解析街道地址極爲複雜,有在pyparsing維基(http://pyparsing.wikispaces.com/file/view/streetAddressParser.py/135329743/streetAddressParser.py)可能給你更多的樣本一個跳躍的開始。 – PaulMcG 2013-04-30 04:37:42