import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class Ideone
{
{
String regex
= "(\\w+\\s+\\+\\s+\\w+\\s+-->\\s+\\w+|\\w+\\s+-->\\s+\\w+\\s+\\+\\s+\\w+)[\\s\\n\\r]+(\\w+\\s+\\+\\s+\\w+\\s+-->\\s+\\w+|\\w+\\s+-->\\s+\\w+\\s+\\+\\s+\\w+)"; String string
= "a + b --> c\n\n" + "c + d --> e\n"
+ "The empty line after this is left alone\n\n"
+ "e + a --> b\n\n"
+ "a --> b + c";
Pattern pattern = Pattern.compile(regex, Pattern.DOTALL);
Matcher matcher = pattern.matcher(string);
String result
= matcher.
replaceAll(subst
);
}
}
aW1wb3J0IGphdmEuaW8uKjsKaW1wb3J0IGphdmEudXRpbC5yZWdleC5NYXRjaGVyOwppbXBvcnQgamF2YS51dGlsLnJlZ2V4LlBhdHRlcm47CgpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJU3RyaW5nIHJlZ2V4ID0gIihcXHcrXFxzK1xcK1xccytcXHcrXFxzKy0tPlxccytcXHcrfFxcdytcXHMrLS0+XFxzK1xcdytcXHMrXFwrXFxzK1xcdyspW1xcc1xcblxccl0rKFxcdytcXHMrXFwrXFxzK1xcdytcXHMrLS0+XFxzK1xcdyt8XFx3K1xccystLT5cXHMrXFx3K1xccytcXCtcXHMrXFx3KykiOwoJCVN0cmluZyBzdHJpbmcgPSAiYSArIGIgLS0+IGNcblxuIgoJCQkgKyAiYyArIGQgLS0+IGVcbiIKCQkJICsgIlRoZSBlbXB0eSBsaW5lIGFmdGVyIHRoaXMgaXMgbGVmdCBhbG9uZVxuXG4iCgkJCSArICJlICsgYSAtLT4gYlxuXG4iCgkJCSArICJhIC0tPiBiICsgYyI7CgkJU3RyaW5nIHN1YnN0ID0gIiQxXFxuJDIiOwoJCQoJCVBhdHRlcm4gcGF0dGVybiA9IFBhdHRlcm4uY29tcGlsZShyZWdleCwgUGF0dGVybi5ET1RBTEwpOwoJCU1hdGNoZXIgbWF0Y2hlciA9IHBhdHRlcm4ubWF0Y2hlcihzdHJpbmcpOwoJCVN0cmluZyByZXN1bHQgPSBtYXRjaGVyLnJlcGxhY2VBbGwoc3Vic3QpOwoJCQoJCVN5c3RlbS5vdXQucHJpbnRsbihyZXN1bHQpOwoJfQp9