【发布时间】:2011-08-01 22:42:38
【问题描述】:
我有一个函数可以输出“Washington D.C., DC, USA”作为输出。我需要拍摄“华盛顿特区”,原因与我如何处理该国其他每一个城市有关。 (注意:这与“DC”不相同,我需要逗号在“Washington”和“DC”之间,空格可以)
我这辈子都不知道如何捕捉它。
这是我尝试过的:
>>>location = "Washington D.C., DC, USA"
>>>match = re.search(r'\w+\s(?:D\.C\.), \w\w(?=\W)', location).group()
>>>match
u'Washington D.C., DC'
(?: ...) 不应该只匹配(而不是捕获)“D.C.”吗?
这里是 2.7.2 文档:
(?:...) 常规括号的非捕获版本。匹配括号内的任何正则表达式,但组匹配的子字符串在执行匹配后无法检索或稍后在模式中引用。
什么给了??
提前致谢!
【问题讨论】: