import re
regex = re.compile(r"^=\?UTF-8\?Q\?(?=.*=E.=..=..)(?=.*[^=]*)?.*\?=", flags=re.MULTILINE | re.IGNORECASE)
test_str = ("=?UTF-8?q?=E5=8F=A3=E5=BA=A7=E6=83=85=E5=A0=B1=E7=A2=BA=E8=AA=8D=E3=81=AE?=\n"
"=?UTF-8?q?ANA=E3=83=9E=E3=82=A4=E3=83=AC=E3=83=BC=E3=82=B8=E3=82=AF?=\n"
"=?UTF-8?q?=E3=81=84=E3=80=91ANA=E3=83=9E=E3=82=A4=E3=83=AC=E3=83=BC?=\n"
"=?UTF-8?q?=E3=80=90=E3=81=94=E7=A2=BA=E8=AA=8D=E3=81=8F=E3=81=A0=E3=81=95?=\n"
"=?UTF-8?q?=E3=81=84=E3=80=91ANA=E3=83=9E=E3=82=A4=E3=83=AC=E3=83=BC?=\n"
"=?UTF-8?q?=E3=82=B8=E3=82=AF=E3=83=A9=E3=83=96=EF=BC=9A=E6=9C=AA=E5=8A=A0?=\n"
"=?UTF-8?q?=E7=AE=97=E3=83=9E=E3=82=A4=E3=83=AB=E3=81=AE=E6=89=8B=E7=B6=9A?=\n"
"=?UTF-8?q?=E3=81=8D=E6=A1=88=E5=86=85=EF=BC=88=E3=83=A1=E3=83=BC=E3=83=AB?=\n"
"=?UTF-8?q?=E7=95=AA=E5=8F=B7:CF-FC-01194167741=EF=BC=89?=\n"
"=?UTF-8?q?=E5=8F=A3=E5=BA=A7=E5=8F=96=E5=BC=95=E5=88=B6=E9=99=90=E3=81=AE?=\n"
"=?UTF-8?q?=E3=81=94=E6=A1=88=E5=86=85=EF=BC=9A=E3=82=AA=E3=83=AA=E3=82=B3?=\n"
"=?UTF-8?q?=E6=83=85=E5=A0=B1=E3=82=92=E6=9B=B4=E6=96=B0=E3=81=97=E3=81=A6?=\n"
"=?UTF-8?q?=E3=81=8F=E3=81=A0=E3=81=95=E3=81=84=E2=97=89PU-89581655388?=\n"
"=?UTF-8?q?hello?=\n")
matches = regex.finditer(test_str)
for match_num, match in enumerate(matches, start=1):
print(f"Match {match_num} was found at {match.start()}-{match.end()}: {match.group()}")
for group_num, group in enumerate(match.groups(), start=1):
print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html