I've got a function spitting out "Washington D.C., DC, USA" as output. I need to capture "Washington, DC" for reasons that have to do with how I handle every single other city in the country. (Note: this is not the same as "D.C.", I need the comma to be between "Washington" and "DC", whitespace is fine)
I can't for the life of me figure out how to capture this.
Here's what I've tried:
>>>location = "Washington D.C., DC, USA"
>>>match = re.search(r'w+s(?:D.C.), ww(?=W)', location).group()
>>>match
u'Washington D.C., DC'
Is not (?: ...) supposed to just match (and not capture) "D.C."?
Here are the 2.7.2 Docs:
(?:...)
A non-capturing version of regular parentheses. Matches whatever regular expression is inside the parentheses, but the substring matched by the group cannot be retrieved after performing a match or referenced later in the pattern.
What gives??
Thanks in advance!
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…