import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^(?<location>[A-Za-z]+)[-_][A-Z]{1,2}\\d";
final String string = "BMD-R1\n"
+ "BMD-R2\n"
+ "BTN-R1\n"
+ "BTN-R1-SW\n"
+ "BTN-R2\n"
+ "BTN-R2-SW\n"
+ "CentralOCS-R1\n"
+ "CentralOCS-R1-SW\n"
+ "CentralOCS-R2\n"
+ "CentralOCS-R2-SW\n"
+ "CentralOCS-SW3\n"
+ "CentralOCS-SW4\n"
+ "CLJ-R1\n"
+ "CLJ-R2\n"
+ "CS-HPOV-MLS1\n"
+ "CS-HPOV-MLS2\n"
+ "CTN-R1\n"
+ "CTN-R2\n"
+ "EKV-OTC-MLS1\n"
+ "GOS-R1\n"
+ "GOS-R2\n"
+ "GVL-R1\n"
+ "GVL-R2\n"
+ "ING-R1\n"
+ "LAW-R1\n"
+ "LCS-R1\n"
+ "LCS-R2\n"
+ "LIV-R1\n"
+ "Mascot_R1\n"
+ "Mascot_R2\n"
+ "Mascot_SW1\n"
+ "Mascot_SW2\n"
+ "Mascot_SW3\n"
+ "MST-R1\n"
+ "MST-R2\n"
+ "MTV-R1\n"
+ "MTV-R2\n"
+ "OSS-FW1 (FO)\n"
+ "OSS-FW1 (Pri)\n"
+ "PEN-R1\n"
+ "PEN-R2\n"
+ "Pitt_R1\n"
+ "ROC-FW1\n"
+ "ROC-HPDM-SW1\n"
+ "ROC-PUB-MLS1\n"
+ "ROC-PUB-MLS2\n"
+ "ROC-RCS-SW \n"
+ "SM-ER-SW1 \n"
+ "SM-ER-SW2 \n"
+ "SM-FW1 (FO)\n"
+ "SM-FW1 (Pri)\n"
+ "SM-PUB-R1\n"
+ "SM-PUB-R1-SW\n"
+ "SM-PUB-R2\n"
+ "SM-PUB-R2-SW\n"
+ "SM-RCS-R1\n"
+ "SM-RCS-R2\n"
+ "SM-RCS-SW1\n"
+ "SM-RCS-SW2\n"
+ "ST-ER-SW1 \n"
+ "ST-ER-SW2 \n"
+ "ST-FW1 (FO)\n"
+ "ST-FW1 (Pri)\n"
+ "STM-R1\n"
+ "STM-R2\n"
+ "ST-OSS-MAIN-R1\n"
+ "ST-OSS-MAIN-R2\n"
+ "ST-OSS-PUB-R1\n"
+ "ST-OSS-PUB-R1-SW\n"
+ "ST-OSS-PUB-R2\n"
+ "ST-OSS-PUB-R2-SW\n"
+ "ST-PUB-MLS1\n"
+ "ST-PUB-MLS2\n"
+ "ST-PUB-R1\n"
+ "ST-PUB-R2\n"
+ "ST-RCS-R1\n"
+ "ST-RCS-R2\n"
+ "ST-RCS-SW1\n"
+ "ST-RCS-SW2\n"
+ "TES-SW1\n"
+ "Waterfall_SW1\n"
+ "Waterfall_SW2\n"
+ "Waterfall-R1\n"
+ "Waterfall-R2\n"
+ "WolloFW_R1\n"
+ "WolloFW_R2\n"
+ "WolloFW_SW\n"
+ "WYG-R1\n"
+ "WYG-R2\n"
+ "Wynyard_R1\n"
+ "Wynyard_R2\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