import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^(?P<unit_type>CD|CG|CS)(?P<series>M1)(?P<mounting_type>MP5|MF4|MT4|MF3|MP3|MF2|MS2|MF1|M00)(?P<sep_1>/)(?P<piston>200|160|125|100|80|63|50|40|32|25|)(?P<sep_2>/)(?P<piston_rod>140|110|90|70|56|45|36|28|22|18|14)(?P<sep_3>/)(?P<stroke_length>[\\d.]{4})(?P<design_principle>A)(?P<unit_series>2X)(?P<sep_4>/)(?P<pipe_port>B|R|S|F|H|P|T|U|A|E|L)(?P<position_head>4|3|2|1|)(?P<position_base>4|3|2|1|.)(?P<piston_rod_design>H|C|L)(?P<piston_rod_end>G|H|E|F|K)(?P<position_cushioning>U|D|S|K|E|N)(?P<seal_material>M|T|A|V|S)(?P<proximity_switche>W|A|E|T)(?P<piston_rod_extension>W|Y|C|F|D|)$";
final String string = "CDM1MT4/100/56/.360A2X/B1.CGDMWW\n"
+ "CDM1MT4/40/22/.225A2X/B1.CGDMWW\n"
+ "CDM1MT4/50/36/..80A2X/B1.CHDMWW\n"
+ "CDM1MT4/32/18/.225A2X/B1.CGDMWW\n"
+ "CDM1MT4/80/45/.550A2X/B1.CGDMWW\n"
+ "CDM1MT4/125/90/1100A2X/B11CGDMW\n"
+ "CDM1MT4/25/14/.130A2X/B11CGDMW\n"
+ "CDM1MT4/40/22/.450A2X/B11CGDMW\n"
+ "CDM1MT4/63/36/.290A2X/B11CGDVW\n"
+ "CDM1MT4/50/28/..55A2X/B11CGDMW\n"
+ "CDM1MT4/100/56/.250A2X/B11CGDMW\n"
+ "CDM1MS2/100/70/.160A2X/B33CHDMW\n"
+ "CDM1MT4/50/28/.700A2X/B11CGDVW\n"
+ "CDM1MT4/50/36/..50A2X/B11CGDMW\n"
+ "CDM1MT4/50/28/.700A2X/B11CGDVW\n"
+ "CDM1MT4/40/28/.480A2X/B11CGDVW\n"
+ "CSM1MT4/63/45/1000A2X/B22CGUMTCXV250\n"
+ "CDM1MF1/100/56/..80A2X/B11CGDMWW\n"
+ "CDM1MT4/25/18/.320A2X/B11CGDMWW\n"
+ "CDM1MT4/40/28/.200A2X/B11CHDMWW\n"
+ "CDM1MT4/40/22/..90A2X/B11CGDMWW\n"
+ "CDM1MT4/25/14/..70A2X/B11CGDMWW\n"
+ "CDM1MF3/32/22/.360A2X/B11CGDMWW\n"
+ "CYM1MF1/32/22/.300A20/B11CXDMS37796\n\n";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
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