Моя проблема в том, что у меня есть ab+
и я aabbbbba
он находит только одно совпадение, когда theres ab
, abb
, abbb
, abbbb
, abbbbb
.
Мой код находит совпадение в индексе 1, но не учитывает совпадения внутри, и я попробовал все, чтобы попытаться его распечатать с abbbbb
на ab
. Вот мой код:
import re
exp, srt = input("RegEx,String:").split()
print(srt)
for m in re.finditer(exp, srt,):
print('"', m.group(0), '"', "is found at index: ", m.start())
Вам нужно будет установить пакет regex
, более эффективную альтернативу re
. Он поддерживает утверждения lookbehind переменной ширины (в то время как пакет re
поддерживает только утверждения lookbehind с фиксированной шириной), поэтому вместо этого можно использовать следующее выражение:
regex.findall(r'(?<=(ab+))', 'aabbbbba')
Это возвращает:
['ab', 'abb', 'abbb', 'abbbb', 'abbbbb']