我正在尝试使用GeoText来引发国家提及,但里约热内卢,Rio das Ostras等城市并未被认可。 我验证了字典,那些城市都没问题。
Some conflicts were found in the installation area
输出:
预期输出:
使用python 3.x和geotext 0.3.0
答案 0 :(得分:1)
GitHub repo上的正则表达式和最新的pip安装版本(0.3.0
)是不同的。
In[2]: import re
In[3]: text = "Rio de Janeiro, Las Vegas, New York"
# old regex (pip installed)
In[4]: city_regex = r"[A-Z]+[a-zà-ú]*(?:[ '-][A-Z]+[a-zà-ú]*)*"
In[5]: re.findall(city_regex, text)
Out[5]: ['Rio', 'Janeiro', 'Las Vegas', 'New York']
# new regex (GitHub)
In[6]: city_regex = r"[A-ZÀ-Ú]+[a-zà-ú]+[ \-]?(?:d[a-u].)?(?:[A-ZÀ-Ú]+[a-zà-ú]+)*"
In[7]: re.findall(city_regex, text)
Out[7]: ['Rio de Janeiro', 'Las Vegas', 'New York']
即使对于三个字的城市,GitHub repos正则表达式似乎也能正常工作,但它没有在PyPI的最新版本中使用。