import re

data = """
12 September, 2016
September 12, 2016
2016 September, 12
September 17, 2012
17 October, 2015
"""

rgx = re.compile(r'(?P<day>[\d]{2})(?:\s|,|\?|$)|(?P<month>[a-zA-Z]+)|(?P<year>[\d]{4})')

day = ""
month = ""
year = ""

for l in rgx.finditer(data):
        if(l.group("day")):
                day = l.group("day")
        elif(l.group("month")):
                month = l.group("month")
        elif(l.group("year")):
                year = l.group("year")

        if(day != "" and month != "" and year != ""):
                print "{0} {1} {2}".format(day, month, year)
                day = ""
                month = ""
                year = ""