Я обнаружил, что findall(r'(ab)+', "ababababab")
может соответствовать только ["ab"]
>>> re.findall(r'(ab)+', "ababababab")
['ab']
я просто знаю, что использование r'(?:ab)+'
может соответствовать всем символам
>>> re.findall(r'(?:ab)+', "ababababab")
['ababababab']
Почему это происходит?
Извините, я не могу четко ответить на мой вопрос
(?: ab) принимает 'ab' в целом, давайте сделаем c = ab, поэтому c + = ababab ....
так что это явно
>>> re.findall(r'(?:ab)+', "ababababab") <br>
['ababababab']
Мой вопрос таков: почему это происходит:
>>> match=re.search(r'(ab)+', "ababababab") <br>
>>> match.group()<br>
'ababababab'