import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^((CLP|[SLP]|AHG)\\d+|A\\d+\\/?\\d+|LC\\d+|MRKL.*|SC.*)$";
final String string = "# Social Welfare Life Scinece, PI, PI combined and Legal Expenses 3\n"
+ "S12\n"
+ "L123\n"
+ "P1234\n"
+ "CLP\n"
+ "CPL12332123\n"
+ "CLP1232\n"
+ "AHG12343\n\n"
+ "# Online PI\n"
+ "A12345\n"
+ "A123/234\n"
+ "A123/\n\n"
+ "# Legal expenses 1\n"
+ "LC1\n"
+ "lc2\n"
+ "LC12323213213213123213212312312324343243234243432343234234323432\n\n"
+ "# Legal Expenses 2\n"
+ "MRKL\n"
+ "MRKL32123\n"
+ "MRKL/0/0/EY/\n\n"
+ "# Excess Layer\n"
+ "SCCATDOGMOUSE\n"
+ "SC123\n"
+ "SC\n"
+ "SC$£$£\"\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