import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "((?<ID>\\d+)\\s(?<LunName>[a-zA-Z0-9_]+)\\s+(?<ProvisionType>tpvv)\\s(?<vvType>base)\\s(?<CopyOf>---)\\s+(?<BsId>\\d+)\\s+(?<ReadWrite>RW|RO)\\s(?<State>normal|degraded)\\s+(?<Adm>\\d+)\\s+(?<Snp>\\d+)\\s+(?<Usr>\\d+)\\s+?(?<VSize>\\d+))";
final String string = " -------Rsvd(MB)-------- --(MB)--\n"
+ " Id Name Prov Type CopyOf BsId Rd -Detailed_State- Adm Snp Usr VSize\n"
+ "4134 VMFS_L021_NR_INFRA01 tpvv base --- 4134 RW normal 28928 6321024 9545088 16777216\n"
+ "4139 VMFS_L033_R_OPS01 tpvv base --- 4139 RW normal 1792 259456 771072 1277952\n"
+ " 135 VMFS_L041_REPL_7400 tpvv base --- 135 RW normal 14080 4664704 6828288 8241152\n"
+ "4168 VMFS_L050_R_DEV01 tpvv base --- 4168 RW normal 6912 633472 3564544 6291456\n"
+ "5798 VMFS_L056_R_DMS01 tpvv base --- 5798 RW normal 1536 341632 508928 819200\n"
+ "4135 VMFS_L060_R_CYPS01 tpvv base --- 4135 RW normal 1280 120448 295936 1572864\n"
+ "4136 VMFS_L061_NR_CYPS01 tpvv base --- 4136 RW normal 2048 143872 656384 819200\n"
+ "----------------------------------------------------------------------------------------------------\n"
+ " 7 total 56576 12484608 22170240 35799040";
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