import re
pattern = r"\bSOURCE#.*\s*^\[1](.*\s*^(?!\[\d+]).*\bPN[QR](?:\n(?!\[\d+]).*)*(?:\n\[\d+].*)*)"
s = ("**** SOURCE#24 ****\n\n"
"[1] Source Location [Local/Remote] : Remote\n\n"
" Remote Host Name : PNQ\n"
" User Name : foo\n\n"
"[2] Source directory : HDPGWRF\n"
"[3] Directory poll interval : 30\n"
"[4] File name format : ACR_FILEFORMAT\n"
"[5] Delete files from source : y\n\n"
"**** SOURCE#25 ****\n\n"
"[1] Source Location [Local/Remote] : Remote\n\n"
" Remote Host Name : PNR\n"
" User Name : foo\n\n"
"[2] Source directory : HDPGWRF\n"
"[3] Directory poll interval : 30\n"
"[4] File name format : ACR_FILEFORMAT\n"
"[5] Delete files from source : y\n\n"
"**** SOURCE#26 ****\n"
"etc.....")
print(re.findall(pattern, s, re.MULTILINE))
CmltcG9ydCByZQoKcGF0dGVybiA9IHIiXGJTT1VSQ0UjLipccypeXFsxXSguKlxzKl4oPyFcW1xkK10pLipcYlBOW1FSXSg/OlxuKD8hXFtcZCtdKS4qKSooPzpcblxbXGQrXS4qKSopIgoKcyA9ICgiKioqKiBTT1VSQ0UjMjQgKioqKlxuXG4iCgkiWzFdICBTb3VyY2UgTG9jYXRpb24gW0xvY2FsL1JlbW90ZV0gICAgICAgICAgOiBSZW1vdGVcblxuIgoJIiBSZW1vdGUgSG9zdCBOYW1lIDogUE5RXG4iCgkiIFVzZXIgTmFtZSAgICAgICAgOiBmb29cblxuIgoJIlsyXSAgU291cmNlIGRpcmVjdG9yeSAgICAgICAgICAgICAgICAgICAgICAgIDogSERQR1dSRlxuIgoJIlszXSAgRGlyZWN0b3J5IHBvbGwgaW50ZXJ2YWwgICAgICAgICAgICAgICAgIDogMzBcbiIKCSJbNF0gIEZpbGUgbmFtZSBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICA6IEFDUl9GSUxFRk9STUFUXG4iCgkiWzVdICBEZWxldGUgZmlsZXMgZnJvbSBzb3VyY2UgICAgICAgICAgICAgICAgOiB5XG5cbiIKCSIqKioqIFNPVVJDRSMyNSAqKioqXG5cbiIKCSJbMV0gIFNvdXJjZSBMb2NhdGlvbiBbTG9jYWwvUmVtb3RlXSAgICAgICAgICA6IFJlbW90ZVxuXG4iCgkiIFJlbW90ZSBIb3N0IE5hbWUgOiBQTlJcbiIKCSIgVXNlciBOYW1lICAgICAgICA6IGZvb1xuXG4iCgkiWzJdICBTb3VyY2UgZGlyZWN0b3J5ICAgICAgICAgICAgICAgICAgICAgICAgOiBIRFBHV1JGXG4iCgkiWzNdICBEaXJlY3RvcnkgcG9sbCBpbnRlcnZhbCAgICAgICAgICAgICAgICAgOiAzMFxuIgoJIls0XSAgRmlsZSBuYW1lIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgIDogQUNSX0ZJTEVGT1JNQVRcbiIKCSJbNV0gIERlbGV0ZSBmaWxlcyBmcm9tIHNvdXJjZSAgICAgICAgICAgICAgICA6IHlcblxuIgoJIioqKiogU09VUkNFIzI2ICoqKipcbiIKCSJldGMuLi4uLiIpCgpwcmludChyZS5maW5kYWxsKHBhdHRlcm4sIHMsIHJlLk1VTFRJTElORSkp