import re

test_text = ['Sentence 1 (Author, 2019).',
             'Sentence 2 (Another Author, 2020)',
             'Sentence 3 (First Author & Second Author, 2018)',
             'Sentence 4 (Author, 2019; Another Author, 2020; Fourth Author, 2017)']

test_list = []
pattern = r'\(([^()]+)\)'

for elem in test_text:
    temp = []
    for splitOne in re.search(pattern, elem).group(1).split(";"):
        for splitTwo in splitOne.split(":"):
            temp.append(splitTwo.strip())
    test_list.append(temp)

print("FULL LIST OF PULL:\n", test_list)