
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))