>>> import re
>>> p=re.compile('(a(.)c)d')
다음은 'abcd'만 반환하고 'aecd'도 반환하지 않는 이유는 무엇입니까? 둘 다 돌려 주려면 어떻게해야합니까? 내가 단지 aecd
을 돌려 주기만한다면, 나는 무엇을해야합니까?모든 일치 항목을 파이썬에서 정규식으로 반환합니다.
>>> m=p.match('abcdeaecd')
>>> m.group()
'abcd'
>>> m.groups()
('abc', 'b')
감사합니다!
감사합니다. (1)'p.match'는 첫 번째 매치만을 반환합니까? (2) 마지막 경기를 반환하려면 어떻게해야합니까? – Tim
@Tim'match'는 문자열의 시작 부분에서 패턴을 일치 시키려고 시도하고 처음부터 찾은 일치 항목 만 반환합니다. 문자열이'a' 이외의 것으로 시작 되었다면, 아무것도 일치하지 않을 것입니다. – thefourtheye
@Tim'p.match'는 첫 번째 일치를 반환합니다. 그러나이 대답은 일치하는 문자열 만 반환하고 Match 객체를 반환하지 않습니다. 특히 캡처 링 그룹에 액세스 할 수 없습니다. – ikdc