import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "[NMS]\\w+\\-\\w*BASE\\w*\\.AD\\.DTI";
final String string = "MAVM-WLBASE1a.ad.dti.\n"
+ "MAVM-WLBASE2a.ad.dti.\n"
+ "MAVM-WLBASE3a.ad.dti.\n"
+ "MAVM-WLBASE4a.ad.dti.\n"
+ "MAVM-WLBASE5a.ad.dti.\n"
+ "NJ-BASEQA2015.ad.dti.\n"
+ "NJVM-BASEQA2014.ad.dti.\n"
+ "NJVM-WLBASE6b.ad.dti.\n"
+ "NJVM-WLBASE7a.ad.dti.\n"
+ "NY2-BASEQA.ad.dti.\n"
+ "NY2-DW5BASEQA01.ad.dti.\n"
+ "SHVM-WLBASE1A.ad.dti.\n"
+ "NJ-ODEV2015.ad.dti.\n"
+ "NJ-ODEV2015b.ad.dti.\n"
+ "NJVM-ODEV2014.ad.dti.\n"
+ "NY2-ODEV2017.ad.dti.\n"
+ "SH-ODEV2017.ad.dti.\n"
+ "MOVM-WL12C.ad.dti.\n"
+ "NJ-PASWL12c01.ad.dti.\n"
+ "NJ-WL12cSVT01.ad.dti.\n"
+ "NJVM-WL12CUST1.ad.dti.\n"
+ "NJVM-wl12cust2.ad.dti.\n"
+ "njvm-wl12cust4.ad.dti.\n"
+ "njvm-wl12x64j7a.ad.dti.\n"
+ "NY2-WL12asp01.ad.dti.\n"
+ "NY2-WL12ASP02.ad.dti.\n"
+ "NY2-WL12ASP03.ad.dti.\n"
+ "NY2-WL12ASP04.ad.dti.\n"
+ "SH-AutoITWL12.ad.dti.\n"
+ "SH-PASWL12c02.ad.dti.\n"
+ "SHVM-WL12-RE.ad.dti.\n"
+ "SHVM-WL12CUST3.ad.dti.\n"
+ "ASP-WL1213INT01.asp.ad.dti.\n"
+ "ASP-WL12CEXT5.asp.ad.dti.\n"
+ "ASPVM-WL12c10.asp.ad.dti.\n"
+ "ASPVM-WL12c8.asp.ad.dti.\n"
+ "ASPVM-WL12c9.asp.ad.dti.\n"
+ "LT-MPROEKT.ad.dti.\n"
+ "LT-jpo01.ad.dti\n"
+ "LT-jpo01.adXdti";
final Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
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