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
aW1wb3J0IHJlCgp0eHQxID0gIlRoZSBkYXRlIGlzIDMtRGVjICIKdHh0MiA9ICJUaGUgZGF0ZSBpczMtRGVjICIKdHh0MyA9ICJUaGUgZGF0ZSBpcyAzLURlYyIKdHh0NCA9ICJUaGUgZGF0ZSBpcyBEZWMtMjAiCnR4dDUgPSAiVGhlIGRhdGUgaXNEZWMtMjAiCgptb250aHMgPSBbJ05vdicsICdEZWMnXQpkYXRlX3J4ID0gcicoPzpbMS05XXxbMTJdXGR8M1swMV0pJwptb250aF9yeCA9IHInKD86e30pJy5mb3JtYXQoJ3wnLmpvaW4obW9udGhzKSkKc2VwX3J4ID0gcidbXHMsL1xcLV0nCnJlZ3ggPSByIig/PCFcZCl7MH17Mn17MX18ezF9ezJ9ezB9KD8hXGQpIi5mb3JtYXQoZGF0ZV9yeCwgbW9udGhfcngsIHNlcF9yeCkKcHJpbnQocmVneCkKCngxID0gcmUuZmluZGFsbChyZWd4LCB0eHQxKQpwcmludCh4MSkKeDIgPSByZS5maW5kYWxsKHJlZ3gsIHR4dDIpCnByaW50KHgyKQp4MyA9IHJlLmZpbmRhbGwocmVneCwgdHh0MykKcHJpbnQoeDMpICMgZW1wdHkKeDQgPSByZS5maW5kYWxsKHJlZ3gsIHR4dDQpCnByaW50KHg0KQp4NSA9IHJlLmZpbmRhbGwocmVneCwgdHh0NSkKcHJpbnQoeDUpICMgZW1wdHk=