import re
pattern = r"^\] prima 1 (?!\d +\b )\w +(?: (?!\d +\b )\w +)* 2 (?!\d +\b )\w +(?: (?!\d +\b )\w +)*$"
test_str = ( "] prima 1 words 2 words\n "
"] prima 1 9words 2 words\n "
"] prima 1 words 2 words 3 words\n \n "
"] prima 1 words another word that does not start with three or four 2 words that does not start with a number three or four\n "
"] prima 1 words 2 words 4 words\n \n \n "
"] prima 1 words 2 words\n "
"] prima 1 2 2 1\n "
"] prima 1 words 2 words 3 words" )
regex = re .compile ( pattern, re .MULTILINE )
matches = regex.findall ( test_str)
print ( matches)
aW1wb3J0IHJlCgpwYXR0ZXJuID0gciJeXF0gcHJpbWEgMSAoPyFcZCtcYilcdysoPzogKD8hXGQrXGIpXHcrKSogMiAoPyFcZCtcYilcdysoPzogKD8hXGQrXGIpXHcrKSokIgoKdGVzdF9zdHIgPSAoIl0gcHJpbWEgMSB3b3JkcyAyIHdvcmRzXG4iCgkiXSBwcmltYSAxIDl3b3JkcyAyIHdvcmRzXG4iCgkiXSBwcmltYSAxIHdvcmRzIDIgd29yZHMgMyB3b3Jkc1xuXG4iCgkiXSBwcmltYSAxIHdvcmRzIGFub3RoZXIgd29yZCB0aGF0IGRvZXMgbm90IHN0YXJ0IHdpdGggdGhyZWUgb3IgZm91ciAyIHdvcmRzIHRoYXQgZG9lcyBub3Qgc3RhcnQgd2l0aCBhIG51bWJlciB0aHJlZSBvciBmb3VyXG4iCgkiXSBwcmltYSAxIHdvcmRzIDIgd29yZHMgNCB3b3Jkc1xuXG5cbiIKCSJdIHByaW1hIDEgd29yZHMgMiB3b3Jkc1xuIgoJIl0gcHJpbWEgMSAyIDIgMVxuIgoJIl0gcHJpbWEgMSB3b3JkcyAyIHdvcmRzIDMgd29yZHMiKQoKcmVnZXggPSByZS5jb21waWxlKHBhdHRlcm4sIHJlLk1VTFRJTElORSkKbWF0Y2hlcyA9IHJlZ2V4LmZpbmRhbGwodGVzdF9zdHIpCnByaW50KG1hdGNoZXMp