Если вы не возражаете против фильтрации, вы можете:
import re
string = 'Lorem Ipsum (2018) Amet (Lorem Dolor Amet Elit)'
result = [m for m in re.split('([^\d(]+\(\d{4}\))\s+', string) if m]
print(result)
выход
['Lorem Ipsum (2018)', 'Amet (Lorem Dolor Amet Elit)']
При использовании split с группой захвата результат будет включать группу в этом случае ([^\d(]+\(\d{4}\))
, т. Е. Все, что не является ни числом, ни открывающей скобкой, за которой точно следуют четыре числа, заключенные в скобки.
Нет, следующие пробелы \s+
не указаны.