import re

txt1 = "The date is 3-Dec "
txt2 = "The date is3-Dec "
txt3 = "The date is 3-Dec"
txt4 = "The date is Dec-20"
txt5 = "The date isDec-20"

months = ['Nov', 'Dec']
date_rx = r'(?:[1-9]|[12]\d|3[01])'
month_rx = r'(?:{})'.format('|'.join(months))
sep_rx = r'[\s,/\\-]'
regx = r"(?<!\d){0}{2}{1}|{1}{2}{0}(?!\d)".format(date_rx, month_rx, sep_rx)
print(regx)

x1 = re.findall(regx, txt1)
print(x1)
x2 = re.findall(regx, txt2)
print(x2)
x3 = re.findall(regx, txt3)
print(x3) # empty
x4 = re.findall(regx, txt4)
print(x4)
x5 = re.findall(regx, txt5)
print(x5) # empty