You should not use Regex to match datetime as that could lead to false positives.
Get files using glob, iterate over them, check for the datetime pattern with datetime.datetime.strptime on the space separated third field:
import glob
import datetime
files = glob.iglob('Weekly Score * Report.csv') # Make necessary changes
# on the pattern, if you want
for file_name in files:
try:
datetime.datetime.strptime(file_name.split()[2], '%m.%d.%Y')
except ValueError:
continue
# Matched; do stuffs
print(file_name)
Example:
In [960]: files = ["Weekly Score 07.27.2018 Report.csv", "Weekly Score 08.03.2018 Report.csv", "Weekly Score 15.23.2018 Report.csv"]
In [961]: for file_name in files:
...: try:
...: datetime.datetime.strptime(file_name.split()[2], '%m.%d.%Y')
...: except ValueError:
...: continue
...: print(file_name)
...:
...:
Weekly Score 07.27.2018 Report.csv
Weekly Score 08.03.2018 Report.csv