2014-05-08 2 views
4

의 이름을 얻을 : 나는 일치하는 개체를 찾고 있어요 경우 내가 일치 된 어떤 특정 텍스트 정말 관심 없어파이썬 정규식 :이 같은이라는 이름의 그룹

$ pattern = re.compile('(?P<group1>AAA|BBB|CCC)|(?P<group2>DDD|EEE|FFF)') 

을, 난 그냥 알고 싶어요 이 그룹 1 또는 그룹 2

groupdict() 인 경우 나에게 같은 것을 제공 :

$ match.groupdict() 
$ {'group1': None, 'group2': 'DDD'} 

지금, 물론, 내가 그냥 DICT 반복하여 그룹 2가 있다고 찾을 수 있습니다,하지만 그 경우 느린 나는 확인해야 할 성냥이 많이있다. 그룹 이름을 얻는 더 직접적인 방법이 있습니까? (Python 2.7)

답변

6

lastgroup?

>>> pattern = re.compile('(?P<group1>AAA|BBB|CCC)|(?P<group2>DDD|EEE|FFF)') 
>>> m = pattern.search("AAA") 
>>> m.lastgroup 
'group1' 
>>> m = pattern.search("DDD") 
>>> m.lastgroup 
'group2' 
+0

글쎄, 지금은 내 질문에 대해 양떼감을 느낍니다. 대답은 쉬운 것 같습니다. x) 감사합니다! – Eulelie