use strict;
my $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?=
=?UTF-8?q?ANA=E3=83=9E=E3=82=A4=E3=83=AC=E3=83=BC=E3=82=B8=E3=82=AF?=
=?UTF-8?q?=E3=81=84=E3=80=91ANA=E3=83=9E=E3=82=A4=E3=83=AC=E3=83=BC?=
=?UTF-8?q?=E3=80=90=E3=81=94=E7=A2=BA=E8=AA=8D=E3=81=8F=E3=81=A0=E3=81=95?=
=?UTF-8?q?=E3=81=84=E3=80=91ANA=E3=83=9E=E3=82=A4=E3=83=AC=E3=83=BC?=
=?UTF-8?q?=E3=82=B8=E3=82=AF=E3=83=A9=E3=83=96=EF=BC=9A=E6=9C=AA=E5=8A=A0?=
=?UTF-8?q?=E7=AE=97=E3=83=9E=E3=82=A4=E3=83=AB=E3=81=AE=E6=89=8B=E7=B6=9A?=
=?UTF-8?q?=E3=81=8D=E6=A1=88=E5=86=85=EF=BC=88=E3=83=A1=E3=83=BC=E3=83=AB?=
=?UTF-8?q?=E7=95=AA=E5=8F=B7:CF-FC-01194167741=EF=BC=89?=
=?UTF-8?q?=E5=8F=A3=E5=BA=A7=E5=8F=96=E5=BC=95=E5=88=B6=E9=99=90=E3=81=AE?=
=?UTF-8?q?=E3=81=94=E6=A1=88=E5=86=85=EF=BC=9A=E3=82=AA=E3=83=AA=E3=82=B3?=
=?UTF-8?q?=E6=83=85=E5=A0=B1=E3=82=92=E6=9B=B4=E6=96=B0=E3=81=97=E3=81=A6?=
=?UTF-8?q?=E3=81=8F=E3=81=A0=E3=81=95=E3=81=84=E2=97=89PU-89581655388?=
=?UTF-8?q?hello?=
';
my $regex = qr/^=\?UTF-8\?Q\?(?=.*=E.=..=..)(?=.*[^=]*)?.*\?=/mip;
if ( $str =~ /$regex/g ) {
print "Whole match is ${^MATCH} and its start/end positions can be obtained via \$-[0] and \$+[0]\n";
# print "Capture Group 1 is $1 and its start/end positions can be obtained via \$-[1] and \$+[1]\n";
# print "Capture Group 2 is $2 ... and so on\n";
}
# ${^POSTMATCH} and ${^PREMATCH} are also available with the use of '/p'
# Named capture groups can be called via $+{name}
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 Perl, please visit: http://perldoc.perl.org/perlre.html