import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?smi)^.*tag=\"[A-Z]_([A-Z]{2})_(\\d{4}).*$";
final String string = "<?xml version=\"1.0\"?>\n"
+ "-<PEGraphic gridSpaceY=\"100\" gridSpaceX=\"100\" bkgdImage=\"\" gridColor=\"#333333\" paperColor=\"#000000\" width=\"19600\" height=\"14200\" version=\"5\">\n"
+ "<Font height=\"120\" name=\"Arial\"/>\n"
+ "-<Polyline backFill=\"yes\" backColor=\"#FFFFFF\">\n"
+ "<Location right=\"6020\" bottom=\"12445\" left=\"6018\" top=\"11741\"/>\n"
+ "<Pen width=\"2\" style=\"solid\" color=\"#00FF00\"/>\n"
+ "<Brush style=\"hollow\" color=\"#00FF00\"/>\n"
+ "<Point y=\"11741\" x=\"6019\"/>\n"
+ "<Point y=\"12445\" x=\"6019\"/>\n"
+ "</Polyline>\n"
+ "-<Polyline backFill=\"yes\" backColor=\"#E0E0E0\">\n"
+ "<Location right=\"3365\" bottom=\"12835\" left=\"3363\" top=\"11741\"/>\n"
+ "<Pen width=\"2\" style=\"solid\" color=\"#00FF00\"/>\n"
+ "<Brush style=\"hollow\" color=\"#00FF00\"/>\n"
+ "<Point y=\"11741\" x=\"3364\"/>\n"
+ "<Point y=\"12835\" x=\"3364\"/>\n"
+ "</Polyline>\n"
+ "-<Polyline backFill=\"yes\" backColor=\"#FFFFFF\">\n"
+ "<Location right=\"4627\" bottom=\"6800\" left=\"4521\" top=\"5100\"/>\n"
+ "<Pen width=\"2\" style=\"solid\" color=\"#00FF00\"/>\n"
+ "<Brush style=\"hollow\" color=\"#00FF00\"/>\n"
+ "<Datasource stepped=\"no\" server=\"USFRPVMESPOLYOL\" map=\"IP_DIMAP\" field=\"VAL\" tag=\"p_dc_1730\"/>\n"
+ "-<Animation on=\"yes\">\n"
+ "<AnimationRange color=\"#666666\" image=\"\" text=\"act sp\" max=\"0\" min=\"0\" index=\"1\"/>\n"
+ "<AnimationRange color=\"#00FF00\" image=\"\" text=\"act sp\" max=\"1\" min=\"1\" index=\"2\"/>\n"
+ "</Animation>\n"
+ "<Point y=\"5100\" x=\"4627\"/>\n"
+ "<Point y=\"6800\" x=\"4627\"/>\n"
+ "</Polyline>\n"
+ "-<Polyline backFill=\"yes\" backColor=\"#FFFFFF\">\n"
+ "<Location right=\"3719\" bottom=\"4394\" left=\"1918\" top=\"3300\"/>\n"
+ "<Pen width=\"2\" style=\"solid\" color=\"#00FF00\"/>\n"
+ "<Brush style=\"hollow\" color=\"#00FF00\"/>\n"
+ "<Datasource stepped=\"no\" server=\"USFRPVMESPOLYOL\" map=\"\" field=\"VAL\" tag=\"P_DC_2103\"/>\n"
+ "-<Animation on=\"yes\">\n"
+ "<AnimationRange color=\"#666666\" image=\"\" text=\"act sp\" max=\"0\" min=\"0\" index=\"1\"/>\n"
+ "<AnimationRange color=\"#00FF00\" image=\"\" text=\"act sp\" max=\"1\" min=\"1\" index=\"2\"/>\n"
+ "</Animation>\n"
+ "<Point y=\"4394\" x=\"3718\"/>\n"
+ "<Point y=\"4098\" x=\"3718\"/>\n"
+ "<Point y=\"4098\" x=\"1918\"/>\n"
+ "<Point y=\"3300\" x=\"1918\"/>\n"
+ "</Polyline>\n";
final String subst = "CG $1($2)";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.DOTALL | Pattern.CASE_INSENSITIVE);
final Matcher matcher = pattern.matcher(string);
// The substituted value will be contained in the result variable
final String result = matcher.replaceFirst(subst);
System.out.println("Substitution result: " + result);
}
}
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