import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "Level>(\\d+)<\\/tank";
final String string = "This XML file does not appear to have any style information associated with it. The document tree is shown below.\n"
+ "<seqSmartbox xmlns=\"http://tecson.dev.oilview.de/gateway/xsd\" xmlns:xsi=\"http://www.w3.org/2000/10/XMLSchema-instance\" xsi:schemaLocation=\"http://tecson.dev.oilview.de/gateway/xsd/smartbox.xsd\">\n"
+ "<seqHeader>\n"
+ "<indication>Manuelle Abfrage</indication>\n"
+ "<authCode>03B41236A899</authCode>\n"
+ "<devOperator/>\n"
+ "<devLocation/>\n"
+ "<devID>2-852</devID>\n"
+ "<devVersion>V6.02</devVersion>\n"
+ "</seqHeader>\n"
+ "<seqData>\n"
+ "<seqTanks>\n"
+ "<tankNumber>1</tankNumber>\n"
+ "<tankName>Heizöl</tankName>\n"
+ "<seqTankLevel>\n"
+ "<tankLevel>490</tankLevel>\n"
+ "<tankUnit>L</tankUnit>\n"
+ "</seqTankLevel>\n"
+ "<tankPercent>5</tankPercent>\n"
+ "<seqTankSize>\n"
+ "<tankSize>10000</tankSize>\n"
+ "<tankUnit>L</tankUnit>\n"
+ "</seqTankSize>\n"
+ "<seqTankClear>\n"
+ "<tankClearance>9010</tankClearance>\n"
+ "<tankUnit>L</tankUnit>\n"
+ "</seqTankClear>\n"
+ "</seqTanks>\n"
+ "</seqData>\n"
+ "<seqPara>\n"
+ "<para1>30</para1>\n"
+ "<para2>15</para2>\n"
+ "<para4>0</para4>\n"
+ "<para5>5</para5>\n"
+ "<para9>0</para9>\n"
+ "</seqPara>\n"
+ "</seqSmartbox>";
final Pattern pattern = Pattern.compile(regex);
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