Я предполагаю, что это выражение или, возможно, немного измененная версия этого могут работать:
((?:\w\.){2,})
Тест с re.findall
import re
regex = r"((?:\w\.){2,})"
test_str = "docs = ['U.S.','U.S.S.R. line-continued', 'u.s.s.r. line-continued', 'U.S.S.R. Title Case', 'end-of-sentence. New-sentence', 'end-of-sentence.','U.S.S.R.U.S.S.R.U.S.S.R.U.S.S.R. line-continued']"
print(re.findall(regex, test_str))
Вывод
['U.S.', 'U.S.S.R.', 'u.s.s.r.', 'U.S.S.R.', 'U.S.S.R.U.S.S.R.U.S.S.R.U.S.S.R.']
Тест с re.finditer
import re
regex = r"((?:\w\.){2,})"
test_str = "docs = ['U.S.','U.S.S.R. line-continued', 'u.s.s.r. line-continued', 'U.S.S.R. Title Case', 'end-of-sentence. New-sentence', 'end-of-sentence.','U.S.S.R.U.S.S.R.U.S.S.R.U.S.S.R. line-continued']
"
matches = re.finditer(regex, test_str, re.MULTILINE)
for matchNum, match in enumerate(matches, start=1):
print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group()))
for groupNum in range(0, len(match.groups())):
groupNum = groupNum + 1
print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum)))
Выражение объяснено на верхней правой панели этой демонстрации , если вы хотите изучить / упростить / изменить ее, ив этой ссылке , вы можете посмотреть, как она будет шаг за шагом сопоставляться с некоторыми примерами входных данных, если хотите.