/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
String frontPage
= "<html>\n<head>\n<title>Hello</title>\n</head>\n" + "<body>\n<table>\n<tr align=\"left\">\n" +
"<td>Hello \n<form>\n<input type=\"submit\" value=\"ok\">\n" +
"</form>\n</td>\n" +
"<td>World \n<form>\n<input type=\"submit\" value=\"ok\">\n" +
"</form>\n</td>\n" +
"</tr>\n</table>\n</body>\n</html>";
java.util.regex.Pattern p =
java.util.regex.Pattern.compile(
"(align=\"left\">\\n)(?<part>.*?)(<\\/form>\\n<\\/td>)",
java.util.regex.Pattern.DOTALL
);
java.util.regex.Matcher m = p.matcher(frontPage);
List<String> parts = new ArrayList<>();
while (m.find()) {
System.
out.
println("Match: " + m.
group("part") + "\n"); }
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCVN0cmluZyBmcm9udFBhZ2UgPSAiPGh0bWw+XG48aGVhZD5cbjx0aXRsZT5IZWxsbzwvdGl0bGU+XG48L2hlYWQ+XG4iICsgCiAgICAgICAgICAgICI8Ym9keT5cbjx0YWJsZT5cbjx0ciBhbGlnbj1cImxlZnRcIj5cbiIgKyAKICAgICAgICAgICAgIjx0ZD5IZWxsbyBcbjxmb3JtPlxuPGlucHV0IHR5cGU9XCJzdWJtaXRcIiB2YWx1ZT1cIm9rXCI+XG4iICsgCiAgICAgICAgICAgICI8L2Zvcm0+XG48L3RkPlxuIiArIAogICAgICAgICAgICAiPHRkPldvcmxkIFxuPGZvcm0+XG48aW5wdXQgdHlwZT1cInN1Ym1pdFwiIHZhbHVlPVwib2tcIj5cbiIgKyAKICAgICAgICAgICAgIjwvZm9ybT5cbjwvdGQ+XG4iICsgCiAgICAgICAgICAgICI8L3RyPlxuPC90YWJsZT5cbjwvYm9keT5cbjwvaHRtbD4iOwoKCQlqYXZhLnV0aWwucmVnZXguUGF0dGVybiBwID0KICAgICAgICAgICAgICAgIGphdmEudXRpbC5yZWdleC5QYXR0ZXJuLmNvbXBpbGUoCgkJCQkJIihhbGlnbj1cImxlZnRcIj5cXG4pKD88cGFydD4uKj8pKDxcXC9mb3JtPlxcbjxcXC90ZD4pIiwKCQkJCQlqYXZhLnV0aWwucmVnZXguUGF0dGVybi5ET1RBTEwKCQkJCQkpOwoJCQkJamF2YS51dGlsLnJlZ2V4Lk1hdGNoZXIgbSA9IHAubWF0Y2hlcihmcm9udFBhZ2UpOwoKCQlMaXN0PFN0cmluZz4gcGFydHMgPSBuZXcgQXJyYXlMaXN0PD4oKTsKCQl3aGlsZSAobS5maW5kKCkpIHsKCQkJU3lzdGVtLm91dC5wcmludGxuKCJNYXRjaDogIiArIG0uZ3JvdXAoInBhcnQiKSArICJcbiIpOyAKCQl9Cgl9Cn0=