"hell"을 포함한 모든 단어를 한 문장으로 찾으려고합니다. 아래 문자열에는 3 번 발생합니다. 하지만 re.search는 처음 2 번만 반환합니다. 나는 findall과 search 모두 시도했다. 누군가 나에게 무엇이 잘못되었는지 말해 줄 수 있습니까?Python3에서 문자열의 모든 단어 찾기
는>>> s = 'heller pond hell hellyi'
>>> m = re.findall('(hell)\S*', s)
>>> m.group(0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'list' object has no attribute 'group'
>>> m = re.search('(hell)\S*', s)
>>> m.group(0)
'heller'
>>> m.group(1)
'hell'
>>> m.group(2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: no such group
>>>
는
이것은 완벽하게 작동합니다. 왜 이것이 잘못된지 아십니까? >>> m = re.search ('(hell) \ S *', s). 나는 처음 2 번의 출현만을 되 돌린다. "hellyi"는 반환되지 않습니다. – Vin
아니요, 두 번 발생하지 않습니다. 're.search'는 첫 번째 만 얻습니다. 캡처 그룹과 일치하는 값이므로 '지옥'이 표시됩니다. 그것은 여전히'heller'의 일부입니다. – iCodez