import re
texts = ['flat 1, tower block, 34 long road, Major city',
'flat 1, tower block, 34 long road, town and parking space',
'34 short road, village on the river and carpark (7X3 8RG)']
rx = re.compile(r'.*,\s*([^,]*?)(?=(?:\sand\s[^,]*)?$)')
for text in texts:
m = re.search(rx, text)
if m:
print(m.group(1))
aW1wb3J0IHJlCnRleHRzID0gWydmbGF0IDEsIHRvd2VyIGJsb2NrLCAzNCBsb25nIHJvYWQsIE1ham9yIGNpdHknLAonZmxhdCAxLCB0b3dlciBibG9jaywgMzQgbG9uZyByb2FkLCB0b3duIGFuZCBwYXJraW5nIHNwYWNlJywKJzM0IHNob3J0IHJvYWQsIHZpbGxhZ2Ugb24gdGhlIHJpdmVyIGFuZCBjYXJwYXJrICg3WDMgOFJHKSddCnJ4ID0gcmUuY29tcGlsZShyJy4qLFxzKihbXixdKj8pKD89KD86XHNhbmRcc1teLF0qKT8kKScpCmZvciB0ZXh0IGluIHRleHRzOgogICAgbSA9IHJlLnNlYXJjaChyeCwgdGV4dCkKICAgIGlmIG06CiAgICAgICAgcHJpbnQobS5ncm91cCgxKSk=