import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^=\\?UTF-8\\?Q\\?(?=.*=E.=..=..)(?=.*[^=]*)?.*\\?=";
final String string = "=?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";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
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 Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html