#!/usr/bin/env python3
import re
x = 'Confirmatory factor analysis (CFA) is a special case of what is known as structural equation modelling (S.E.M.).'
results = []
split_regex = re.compile(r'\s+')
for m in re.finditer(r'\b([A-Za-z][a-z]*(?:\s[A-Za-z][a-z]*)+)\s+\(((?:[A-Z]\.?){2,})\)', x):
abbreviation = m[2]
l = sum(c.isalpha() for c in abbreviation)
full_form = ' '.join(split_regex.split(m[1])[-l:])
results.append([full_form, abbreviation])
print(results)# your code goes here
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwoKaW1wb3J0IHJlCgp4ID0gJ0NvbmZpcm1hdG9yeSBmYWN0b3IgYW5hbHlzaXMgKENGQSkgIGlzIGEgc3BlY2lhbCBjYXNlIG9mIHdoYXQgaXMga25vd24gYXMgc3RydWN0dXJhbCBlcXVhdGlvbiBtb2RlbGxpbmcgKFMuRS5NLikuJwpyZXN1bHRzID0gW10Kc3BsaXRfcmVnZXggPSByZS5jb21waWxlKHInXHMrJykKZm9yIG0gaW4gcmUuZmluZGl0ZXIocidcYihbQS1aYS16XVthLXpdKig/OlxzW0EtWmEtel1bYS16XSopKylccytcKCgoPzpbQS1aXVwuPyl7Mix9KVwpJywgeCk6CiAgICBhYmJyZXZpYXRpb24gPSBtWzJdCiAgICBsID0gc3VtKGMuaXNhbHBoYSgpIGZvciBjIGluIGFiYnJldmlhdGlvbikKICAgIGZ1bGxfZm9ybSA9ICcgJy5qb2luKHNwbGl0X3JlZ2V4LnNwbGl0KG1bMV0pWy1sOl0pCiAgICByZXN1bHRzLmFwcGVuZChbZnVsbF9mb3JtLCBhYmJyZXZpYXRpb25dKQpwcmludChyZXN1bHRzKSMgeW91ciBjb2RlIGdvZXMgaGVyZQ==