import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?:\n"
+ " ^\n"
+ " \\s*\n"
+ " (?<host>[\\w-\\.]*)\n"
+ " \\s*\n"
+ " (?<rectype>\\w*)\n"
+ " \\s*\n"
+ " (?<value>[\\w\\.-].*)\n"
+ " \\s*$\n"
+ ")";
final String string = "> ls -d midlandls.pncint.net \n"
+ "[pasum60ad02.pncint.net]\n"
+ " midlandls.pncint.net. SOA vasan60ad03.pncint.net ip.address.request.pncbank.com. (562550790 10800 3600 1209600 60)\n"
+ " midlandls.pncint.net. NS vaash60ad04.pncint.net \n"
+ " midlandls.pncint.net. NS pasum60ad11.pncint.net \n"
+ " midlandls.pncint.net. NS pasum60ad01.pncint.net \n"
+ " midlandls.pncint.net. NS pasum60ad02.pncint.net \n"
+ " arcs-msmq CNAME weka357w.prod.pncint.net\n"
+ " bar-rpt CNAME wbar303a.prod.pncint.net\n"
+ " Bin CNAME services-gf2.midlandls.pncint.net\n"
+ " cigna-msmq CNAME welm350w.prod.pncint.net\n"
+ " citigroup-msmq CNAME welm352w.prod.pncint.net\n"
+ " Cwm CNAME services-gf2.midlandls.pncint.net\n"
+ " Cwm-app CNAME services-gf2.midlandls.pncint.net\n"
+ " cwm-rpt CNAME wcwm316a.prod.pncint.net\n"
+ " dbank-msmq CNAME welm344w.prod.pncint.net\n"
+ " egs CNAME egs-gf0.midlandls.pncint.net\n"
+ " egs-gf0 A 10.15.5.238\n"
+ " egs-gf1 A 10.38.5.238\n"
+ " egs-snat-gf0 A 10.15.7.238\n"
+ " egs-snat-gf1 A 10.38.7.238\n"
+ " eka CNAME services-gf2.midlandls.pncint.net\n"
+ " elm CNAME services-gf2.midlandls.pncint.net\n"
+ " fdic-msmq CNAME welm358w.prod.pncint.net\n"
+ " genworth-msmq CNAME welm365w.prod.pncint.net\n"
+ " icsg-msmq CNAME welm375w.prod.pncint.net\n"
+ " iru CNAME services-gf2.midlandls.pncint.net\n"
+ " iru-rpt CNAME wiru307a.prod.pncint.net\n"
+ " mat CNAME services-gf2.midlandls.pncint.net\n"
+ " mat-app CNAME services-gf2.midlandls.pncint.net\n"
+ " mat-rpt CNAME wmat302a.prod.pncint.net\n"
+ " mde CNAME services-gf2.midlandls.pncint.net\n"
+ " mde-internet CNAME services-gf2.midlandls.pncint.net\n"
+ " mfn CNAME services-gf2.midlandls.pncint.net\n"
+ " mfn-app CNAME services-gf2.midlandls.pncint.net\n"
+ " mfn-rpt CNAME wmfn318a.prod.pncint.net\n"
+ " mis CNAME services-gf2.midlandls.pncint.net\n"
+ " mis-app CNAME services-gf2.midlandls.pncint.net\n"
+ " mis-rpt CNAME wmis308a.prod.pncint.net\n"
+ " mls-msmq CNAME weka353w.prod.pncint.net\n"
+ " mvm CNAME services-gf1.midlandls.pncint.net\n"
+ " mvm-rpt CNAME wmvm302a.prod.pncint.net\n"
+ " pii CNAME services-gf2.midlandls.pncint.net\n"
+ " pnc-msmq CNAME weka373w.prod.pncint.net\n"
+ " pnclms-msmq CNAME weka349w.prod.pncint.net\n"
+ " rdt CNAME services-gf1.midlandls.pncint.net\n"
+ " services-gf1 A 10.26.64.229\n"
+ " services-gf2 A 10.28.8.229\n"
+ " services-snat-gf1 A 10.26.68.249\n"
+ " services-snat-gf2 A 10.28.12.227\n"
+ " wdunlop-msmq CNAME welm31bw.prod.pncint.net\n"
+ " wlm CNAME services-gf2.midlandls.pncint.net\n"
+ " wlm-app CNAME wwlm305w.prod.pncint.net\n"
+ " wlm-rpt CNAME wwlm306a.prod.pncint.net\n"
+ " midlandls.pncint.net. SOA vasan60ad03.pncint.net ip.address.request.pncbank.com. (562550790 10800 3600 1209600 60)\n";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.COMMENTS);
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