import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class Ideone
{
{
String regex
= "^~LayerData(?:\\R(?!~(?:End)?LayerData).*)*\\R~EndLayerData"; String string
= "~LayerData\n" + "type=\"waypointlist\"\n"
+ "type=\"waypointlistend\"\n"
+ "type=\"track\" name=\"Track1\" color=#695cbb\n"
+ "type=\"trackpoint\" latitude=\"43.5032064\" longitude=\"16.4266248\"\n"
+ "type=\"trackpoint\" latitude=\"43.5071074767561\" longitude=\"16.48329290000057\"\n"
+ "type=\"trackend\"\n"
+ "~EndLayerData\n"
+ "~LayerData\n"
+ "type=\"waypointlist\"\n"
+ "type=\"waypointlistend\"\n"
+ "type=\"track\" name=\"Track2\" color=#000000\n"
+ "type=\"trackpoint\" latitude=\"43.51037193515589\" longitude=\"16.491883500895977\" name=Track2\"\n"
+ "type=\"trackpoint\" latitude=\"43.521582832754135\" longitude=\"16.473187288140295\" name=\"Brda\"\n"
+ "type=\"trackend\"\n"
+ "~EndLayerData";
Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.
out.
println(matcher.
group(0)); }
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguTWF0Y2hlcjsKaW1wb3J0IGphdmEudXRpbC5yZWdleC5QYXR0ZXJuOwoKCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlTdHJpbmcgcmVnZXggPSAiXn5MYXllckRhdGEoPzpcXFIoPyF+KD86RW5kKT9MYXllckRhdGEpLiopKlxcUn5FbmRMYXllckRhdGEiOwoJCVN0cmluZyBzdHJpbmcgPSAifkxheWVyRGF0YVxuIgoJCQkgKyAidHlwZT1cIndheXBvaW50bGlzdFwiXG4iCgkJCSArICJ0eXBlPVwid2F5cG9pbnRsaXN0ZW5kXCJcbiIKCQkJICsgInR5cGU9XCJ0cmFja1wiIG5hbWU9XCJUcmFjazFcIiBjb2xvcj0jNjk1Y2JiXG4iCgkJCSArICJ0eXBlPVwidHJhY2twb2ludFwiIGxhdGl0dWRlPVwiNDMuNTAzMjA2NFwiIGxvbmdpdHVkZT1cIjE2LjQyNjYyNDhcIlxuIgoJCQkgKyAidHlwZT1cInRyYWNrcG9pbnRcIiBsYXRpdHVkZT1cIjQzLjUwNzEwNzQ3Njc1NjFcIiBsb25naXR1ZGU9XCIxNi40ODMyOTI5MDAwMDA1N1wiXG4iCgkJCSArICJ0eXBlPVwidHJhY2tlbmRcIlxuIgoJCQkgKyAifkVuZExheWVyRGF0YVxuIgoJCQkgKyAifkxheWVyRGF0YVxuIgoJCQkgKyAidHlwZT1cIndheXBvaW50bGlzdFwiXG4iCgkJCSArICJ0eXBlPVwid2F5cG9pbnRsaXN0ZW5kXCJcbiIKCQkJICsgInR5cGU9XCJ0cmFja1wiIG5hbWU9XCJUcmFjazJcIiBjb2xvcj0jMDAwMDAwXG4iCgkJCSArICJ0eXBlPVwidHJhY2twb2ludFwiIGxhdGl0dWRlPVwiNDMuNTEwMzcxOTM1MTU1ODlcIiBsb25naXR1ZGU9XCIxNi40OTE4ODM1MDA4OTU5NzdcIiBuYW1lPVRyYWNrMlwiXG4iCgkJCSArICJ0eXBlPVwidHJhY2twb2ludFwiIGxhdGl0dWRlPVwiNDMuNTIxNTgyODMyNzU0MTM1XCIgbG9uZ2l0dWRlPVwiMTYuNDczMTg3Mjg4MTQwMjk1XCIgbmFtZT1cIkJyZGFcIlxuIgoJCQkgKyAidHlwZT1cInRyYWNrZW5kXCJcbiIKCQkJICsgIn5FbmRMYXllckRhdGEiOwoJCQoJCVBhdHRlcm4gcGF0dGVybiA9IFBhdHRlcm4uY29tcGlsZShyZWdleCwgUGF0dGVybi5NVUxUSUxJTkUpOwoJCU1hdGNoZXIgbWF0Y2hlciA9IHBhdHRlcm4ubWF0Y2hlcihzdHJpbmcpOwoJCQoJCXdoaWxlIChtYXRjaGVyLmZpbmQoKSkgewoJCSAgICBTeXN0ZW0ub3V0LnByaW50bG4obWF0Y2hlci5ncm91cCgwKSk7CgkJfQoJfQp9