我想解析这样的地名:
à : Paris (France)
但它常常遇到像美国这样的地方
à : Boston (MA) (États-Unis)
我试过这个来解析它:
place='à : (?P<city>.+) (\((?P<country>.+)\)|(\((?P<state>.+)\) \((?P<country>.+)\)))'
但它似乎不起作用,它超出了我目前对初学者的理解。
如何处理?
答案 0 :(得分:2)
您可以使用量词?
:
à : (?P<city>\S+) (?:\((?P<state>\S+)\) )?\((?P<country>\S+)\)
# ^^^ ^^
请参阅demo。
在这种情况下,它将匹配两者:
à : (?P<city>\S+) \((?P<state>\S+)\) \((?P<country>\S+)\)
和
à : (?P<city>\S+) \((?P<country>\S+)\)