Точка (.) Будет соответствовать любому символу, кроме новой строки, поэтому в первом случае ваш жадный + останавливается, когда находит новую строку, в последнем случае жадный + работает до последней скобки и, следовательно, выполняет только одно совпадение . Так что это означает, что ваше регулярное выражение должно быть изменено, попробуйте заменить его на ниже, так что я написал это так: Внутри круглых скобок сопоставьте буквальную точку (с экранированием здесь) со словом (один или несколько символов), за которым следует закрывающая скобка. , Вывод соответствует ожидаемому
import re
s = """ example (.com)
w3resource github (.com)
stackoverflow (.com) """
ss = """ example (.com) w3resource github (.com) stackoverflow (.com) """
match = re.finditer(r'\(\.\w+\)',ss) ## changes are done here
print(match)
for i in match:
print(i)