import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "Group\\sMembership:\\s+(([A-Za-z0-9-_]+\\\\)((?<test>[A-Za-z0-9-_ ]+))\\s+)";
final String string = "Subject:\n"
+ " Security ID:\n"
+ " Account Name:\n"
+ " Account Domain:\n"
+ " Logon ID:\n\n"
+ "Logon Type: 3\n\n"
+ "New Logon:\n"
+ " Security ID: ABC\\SH07\n"
+ " Account Name: SH07\n"
+ " Account Domain: ABC\n"
+ " Logon ID: 0xEB7A5403\n\n"
+ "Event in sequence: 1 of 1\n\n"
+ "Group Membership:\n"
+ " ABC\\Domain Users \n"
+ " Everyone \n"
+ " BUILTIN\\Users \n"
+ " NT AUTHORITY\\NETWORK \n"
+ " NT AUTHORITY\\Authenticated Users \n"
+ " NT AUTHORITY\\This Organization \n"
+ " ABC\\FS-ABCDEFG-Workspaces_CS-Production-WIP_MODIFY \n"
+ " ABC\\FS-ABCDEFG-Workspaces_CS-EntertainmentDesign-WIP_READ\n"
+ " ABC\\FS-ABCDEFG-Wspaces_CS-Print-WIP_READ \n"
+ " ABC\\Workstations-Desktop-Add Remove \n"
+ " ABC\\FS-ABCDEFG-Wpaces_CS-Imagery-WIP_READ \n"
+ " Authentication authority asserted identity \n"
+ " ABC\\APP-JDE-123";
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