Я предполагаю, что, возможно, вы пытались написать какое-то выражение, похожее на:
[A-Z][a-z]*[A-Z](?=,|$)
или
[A-Z][a-z]+[A-Z](?=,|$)
Тест
import re
regex = r"[A-Z][a-z]*[A-Z](?=,|$)"
string = """
WordA, WordB, WordC, [WordD]
WordA, WordB, WordC, [WordD], WordE
"""
print(re.findall(regex, string))
Вывод
['WordA', 'WordB', 'WordC', 'WordA', 'WordB', 'WordC', 'WordE']
Если вы хотите упростить / изменить / изучить выражение, это было объяснено на верхней правой панели regex101.com .Если хотите, вы также можете посмотреть в эту ссылку , как она будет сопоставляться с некоторыми примерами ввода.