import re
text = ( "kkkkk;\n \n "
" select xx(\" xE'\" , PUT(xx.xxxx.),\" '\" ) jdfjhf:jhfjj from xxxx_x_xx_L ;\n "
"quit; \n \n "
"/* 1.xxxxx FROM xxxx_x_Ex_x */ \n "
"proc sql; (\" TRUuuuth\" );\n "
"hhhjhfjs as fdsjfsj:\n "
"select * from djfkjd to jfkjs\n "
"(\n "
"SELECT abc AS abc1, abc_2_ AS efg, abc_fg, fkdkfj_vv, jjsflkl_ff, fjkdsf_jfkj\n "
" FROM &xxx..xxx_xxx_xxE\n "
"where ((xxx(xx_ix as format 'xxxx-xx') gff &jfjfsj_jfjfj.) and \n "
" (xxx(xx_ix as format 'xxxx-xx') lec &jgjsd_vnv.))\n "
" );\n \n "
"1)\n \n "
"jjjjjj;\n \n "
" select xx(\" xE'\" , PUT(xx.xxxx.),\" '\" ) jdfjhf:jhfjj from xxxx_x_xx_L ;\n "
"quit; \n \n "
"/* 1.xxxxx FROM xxxx_x_Ex_x */ ()\n "
"PROC SQL; (\" CUuuiiiiuth\" );\n "
"hhhjhfjs as fdsjfsj:\n "
"select * from djfkjd to jfkjs\n "
"(SELECT abc AS abc1, abc_2_ AS efg, abc_fg, fkdkfj_vv, jjsflkl_ff, fjkdsf_jfkj\n "
" FROM &xxx..xxx_xxx_xxE\n "
"where ((xxx(xx_ix as format 'xxxx-xx') gff &jfjfsj_jfjfj.) and \n "
" (xxx(xx_ix as format 'xxxx-xx') lec &jgjsd_vnv.))(( ))\n "
" );\n \n "
"2)(\n \n "
"RUN;\n \n "
"())\n \n "
"------------\n "
")" )
regex = re .compile ( r'^PROC SQL;.*\n (?:(?!RUN;|QUIT;).*\n )*(?:RUN|QUIT);' , re .MULTILINE | re .IGNORECASE )
k = regex.findall ( text)
print ( k)
aW1wb3J0IHJlCgp0ZXh0ID0gKCJra2traztcblxuIgoJIiAgc2VsZWN0IHh4KFwieEUnXCIsIFBVVCh4eC54eHh4LiksXCInXCIpIGpkZmpoZjpqaGZqaiBmcm9tIHh4eHhfeF94eF9MIDtcbiIKCSJxdWl0OyBcblxuIgoJIi8qIDEueHh4eHggRlJPTSB4eHh4X3hfRXhfeCAqLyBcbiIKCSJwcm9jIHNxbDsgKFwiVFJVdXV1dGhcIik7XG4iCgkiaGhoamhmanMgYXMgZmRzamZzajpcbiIKCSJzZWxlY3QgKiBmcm9tIGRqZmtqZCB0byBqZmtqc1xuIgoJIihcbiIKCSJTRUxFQ1QgYWJjIEFTIGFiYzEsIGFiY18yXyBBUyBlZmcsIGFiY19mZywgZmtka2ZqX3Z2LCBqanNmbGtsX2ZmLCBmamtkc2ZfamZralxuIgoJIglGUk9NICZ4eHguLnh4eF94eHhfeHhFXG4iCgkid2hlcmUgKCh4eHgoeHhfaXggYXMgZm9ybWF0ICd4eHh4LXh4JykgZ2ZmICZqZmpmc2pfamZqZmouKSBhbmQgXG4iCgkiICAgICAgKHh4eCh4eF9peCBhcyBmb3JtYXQgJ3h4eHgteHgnKSBsZWMgJmpnanNkX3Zudi4pKVxuIgoJIiApO1xuXG4iCgkiMSlcblxuIgoJImpqampqajtcblxuIgoJIiAgc2VsZWN0IHh4KFwieEUnXCIsIFBVVCh4eC54eHh4LiksXCInXCIpIGpkZmpoZjpqaGZqaiBmcm9tIHh4eHhfeF94eF9MIDtcbiIKCSJxdWl0OyBcblxuIgoJIi8qIDEueHh4eHggRlJPTSB4eHh4X3hfRXhfeCAqLyAoKVxuIgoJIlBST0MgU1FMOyAoXCJDVXV1aWlpaXV0aFwiKTtcbiIKCSJoaGhqaGZqcyBhcyBmZHNqZnNqOlxuIgoJInNlbGVjdCAqIGZyb20gZGpma2pkIHRvIGpma2pzXG4iCgkiKFNFTEVDVCBhYmMgQVMgYWJjMSwgYWJjXzJfIEFTIGVmZywgYWJjX2ZnLCBma2RrZmpfdnYsIGpqc2Zsa2xfZmYsIGZqa2RzZl9qZmtqXG4iCgkiCUZST00gJnh4eC4ueHh4X3h4eF94eEVcbiIKCSJ3aGVyZSAoKHh4eCh4eF9peCBhcyBmb3JtYXQgJ3h4eHgteHgnKSBnZmYgJmpmamZzal9qZmpmai4pIGFuZCBcbiIKCSIgICAgICAoeHh4KHh4X2l4IGFzIGZvcm1hdCAneHh4eC14eCcpIGxlYyAmamdqc2Rfdm52LikpKCggKSlcbiIKCSIgKTtcblxuIgoJIjIpKFxuXG4iCgkiUlVOO1xuXG4iCgkiKCkpXG5cbiIKCSItLS0tLS0tLS0tLS1cbiIKCSIpIikKCQpyZWdleCA9IHJlLmNvbXBpbGUocideUFJPQyBTUUw7Lipcbig/Oig/IVJVTjt8UVVJVDspLipcbikqKD86UlVOfFFVSVQpOycsIHJlLk1VTFRJTElORSB8IHJlLklHTk9SRUNBU0UpCmsgPSByZWdleC5maW5kYWxsKHRleHQpCnByaW50KGsp
stdout
['proc sql; ("TRUuuuth");\nhhhjhfjs as fdsjfsj:\nselect * from djfkjd to jfkjs\n(\nSELECT abc AS abc1, abc_2_ AS efg, abc_fg, fkdkfj_vv, jjsflkl_ff, fjkdsf_jfkj\n\tFROM &xxx..xxx_xxx_xxE\nwhere ((xxx(xx_ix as format \'xxxx-xx\') gff &jfjfsj_jfjfj.) and \n (xxx(xx_ix as format \'xxxx-xx\') lec &jgjsd_vnv.))\n );\n\n1)\n\njjjjjj;\n\n select xx("xE\'", PUT(xx.xxxx.),"\'") jdfjhf:jhfjj from xxxx_x_xx_L ;\nquit;', 'PROC SQL; ("CUuuiiiiuth");\nhhhjhfjs as fdsjfsj:\nselect * from djfkjd to jfkjs\n(SELECT abc AS abc1, abc_2_ AS efg, abc_fg, fkdkfj_vv, jjsflkl_ff, fjkdsf_jfkj\n\tFROM &xxx..xxx_xxx_xxE\nwhere ((xxx(xx_ix as format \'xxxx-xx\') gff &jfjfsj_jfjfj.) and \n (xxx(xx_ix as format \'xxxx-xx\') lec &jgjsd_vnv.))(( ))\n );\n\n2)(\n\nRUN;']