Using the final 3 words, there is no need for regular expressions (using the time module):
>>> import time >>> a="Some Random text of undetermined length Jan 28, 1986" >>> datetuple = a.rsplit(" ",3)[-3:] >>> datetuple ['Jan', '28,', '1986'] >>> time.strptime(' '.join(datetuple),"%b %d, %Y") time.struct_time(tm_year=1986, tm_mon=1, tm_mday=28, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=28, tm_isdst=-1) >>>
Using the datetime module:
>>> from datetime import datetime >>> datetime.strptime(" ".join(datetuple), "%b %d, %Y") datetime.datetime(1986, 1, 28, 0, 0) >>>
source share