import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "User name\\s+(?<user_name>[a-zA-Z|\\.|\\-|\\_|0-9]+)\\nFull Name\\s+(?<full_name>[a-zA-Z|\\.|\\-|\\_|0-9| ]*)\\nComment\\s+(?<comment>[a-zA-Z|\\.|\\-|\\_|0-9| ]+)\\nUser's comment\\s+(?<user_comment>[a-zA-Z|\\.|\\-|\\_|0-9| ]+)\\nCountry\\/region code\\s+(?<country_region_code>[a-zA-Z|\\.|\\-|\\_|0-9| |\\(|\\)]+)\\nAccount active\\s+(?<account_active>[No|Yes]+)\\nAccount expires\\s+(?<account_expiring_date_and_time>Never|(?<account_expiring_date>(?<account_expiring_date_month>\\d{1,2})\\/(?<account_expiring_date_day>\\d{1,2})\\/(?<account_expiring_date_year>\\d{4}))\\s(?<account_expiring_time>(?<account_expiring_time_hours>\\d{1,2})\\:(?<account_expiring_time_mins>\\d{1,2})\\:(?<account_expiring_time_seconds>\\d{1,2})\\s(?<account_expiring_time_am_pm>AM|PM)))\\n{2}Password last set\\s+(?<password_last_set_date_and_time>Never|(?<password_last_set_date>(?<password_last_set_date_month>\\d{1,2})\\/(?<password_last_set_date_day>\\d{1,2})\\/(?<password_last_set_date_year>\\d{4}))\\s(?<password_last_set_time>(?<password_last_set_time_hours>\\d{1,2})\\:(?<password_last_set_time_mins>\\d{1,2})\\:(?<password_last_set_time_seconds>\\d{1,2})\\s(?<password_last_set_time_am_pm>AM|PM)))\\nPassword expires\\s+(?<password_expires_date_and_time>Never|(?<password_expires__date>(?<password_expires_date_month>\\d{1,2})\\/(?<password_expires_date_day>\\d{1,2})\\/(?<password_expires_date_year>\\d{4}))\\s(?<password_expires_time>(?<password_expires_time_hours>\\d{1,2})\\:(?<password_expires_time_mins>\\d{1,2})\\:(?<password_expires_time_seconds>\\d{1,2})\\s(?<password_expires_time_am_pm>AM|PM)))\\nPassword changeable\\s+(?<password_change_date_and_time>Never|(?<password_change_date>(?<password_change_date_month>\\d{1,2})\\/(?<password_change_date_day>\\d{1,2})\\/(?<password_change_date_year>\\d{4}))\\s(?<password_change_time>(?<password_change_time_hours>\\d{1,2})\\:(?<password_change_time_mins>\\d{1,2})\\:(?<password_changes_time_seconds>\\d{1,2})\\s(?<password_change_time_am_pm>AM|PM)))\\nPassword required\\s+(?<account_required>[Yes|No]+)\\nUser\\smay change password\\s+(?<user_may_change_password>[No|Yes]+)\\n{2}Workstations allowed\\s+(?<workstations_allowed>.*)\\nLogon script\\s+(?<logon_script>.*)\\nUser profile\\s+(?<user_profile>.*)\\nHome directory\\s+(?<home_directory>.*)\\nLast logon\\s+(?<last_logon>(?<last_logon_date_and_time>Never|(?<last_logon_date>(?<last_logon_date_month>\\d{1,2})\\/(?<last_logon_date_day>\\d{1,2})\\/(?<last_logon_date_year>\\d{4}))\\s(?<last_logon_time>(?<last_logon_time_hours>\\d{1,2})\\:(?<last_logon_time_mins>\\d{1,2})\\:(?<last_logon_time_seconds>\\d{1,2})\\s(?<last_logon_time_am_pm>AM|PM))))\\n{2}Logon hours allowed\\s+(((?<day>[Friday|Saturday|Sunday|Monday|Tuesday|Wednesday|Thursday]+)\\s(?<starting_allowed_logon>(?<starting_allowed_logon_hours>\\d{1,2})\\:(?<starting_allowed_logon_mins>\\d{1,2})\\:(?<starting_allowed_logon_seconds>\\d{1,2})\\s(?<starting_allowed_logon_am_pm>[AM|PM]+))\\s\\-\\s(?<endding_allowed_logon>(?<ending_allowed_logon_hours>\\d{1,2})\\:(?<ending_allowed_logon_mins>\\d{1,2})\\:(?<ending_allowed_logon_seconds>\\d{1,2})\\s(?<ending_allowed_logon_am_pm>[AM|PM]+))?\\n?\\s+?)?((?<day1>[Friday|Saturday|Sunday|Monday|Tuesday|Wednesday|Thursday]+)\\s(?<starting_allowed_logon1>(?<starting_allowed_logon_hours1>\\d{1,2})\\:(?<starting_allowed_logon_mins1>\\d{1,2})\\:(?<starting_allowed_logon_seconds1>\\d{1,2})\\s(?<starting_allowed_logon_am_pm1>[AM|PM]+))\\s\\-\\s(?<endding_allowed_logon1>(?<ending_allowed_logon_hours1>\\d{1,2})\\:(?<ending_allowed_logon_mins1>\\d{1,2})\\:(?<ending_allowed_logon_seconds1>\\d{1,2})\\s(?<ending_allowed_logon_am_pm1>[AM|PM]+))?\\n?\\s+?)?((?<day2>[Friday|Saturday|Sunday|Monday|Tuesday|Wednesday|Thursday]+)\\s(?<starting_allowed_logon2>(?<starting_allowed_logon_hours2>\\d{1,2})\\:(?<starting_allowed_logon_mins2>\\d{1,2})\\:(?<starting_allowed_logon_seconds2>\\d{1,2})\\s(?<starting_allowed_logon_am_pm2>[AM|PM]+))\\s\\-\\s(?<endding_allowed_logon2>(?<ending_allowed_logon_hours2>\\d{1,2})\\:(?<ending_allowed_logon_mins2>\\d{1,2})\\:(?<ending_allowed_logon_seconds2>\\d{1,2})\\s(?<ending_allowed_logon_am_pm2>[AM|PM]+))?\\n?\\s+?)?((?<day3>[Friday|Saturday|Sunday|Monday|Tuesday|Wednesday|Thursday]+)\\s(?<starting_allowed_logon3>(?<starting_allowed_logon_hours3>\\d{1,2})\\:(?<starting_allowed_logon_mins3>\\d{1,2})\\:(?<starting_allowed_logon_seconds3>\\d{1,2})\\s(?<starting_allowed_logon_am_pm3>[AM|PM]+))\\s\\-\\s(?<endding_allowed_logon3>(?<ending_allowed_logon_hours3>\\d{1,2})\\:(?<ending_allowed_logon_mins3>\\d{1,2})\\:(?<ending_allowed_logon_seconds3>\\d{1,2})\\s(?<ending_allowed_logon_am_pm3>[AM|PM]+))?\\n?\\s+?)?((?<day4>[Friday|Saturday|Sunday|Monday|Tuesday|Wednesday|Thursday]+)\\s(?<starting_allowed_logon4>(?<starting_allowed_logon_hours4>\\d{1,2})\\:(?<starting_allowed_logon_mins4>\\d{1,2})\\:(?<starting_allowed_logon_seconds4>\\d{1,2})\\s(?<starting_allowed_logon_am_pm4>[AM|PM]+))\\s\\-\\s(?<endding_allowed_logon4>(?<ending_allowed_logon_hours4>\\d{1,2})\\:(?<ending_allowed_logon_mins4>\\d{1,2})\\:(?<ending_allowed_logon_seconds4>\\d{1,2})\\s(?<ending_allowed_logon_am_pm4>[AM|PM]+))?\\n?\\s+?)?((?<day5>[Friday|Saturday|Sunday|Monday|Tuesday|Wednesday|Thursday]+)\\s(?<starting_allowed_logon5>(?<starting_allowed_logon_hours5>\\d{1,2})\\:(?<starting_allowed_logon_mins5>\\d{1,2})\\:(?<starting_allowed_logon_seconds5>\\d{1,2})\\s(?<starting_allowed_logon_am_pm5>[AM|PM]+))\\s\\-\\s(?<endding_allowed_logon5>(?<ending_allowed_logon_hours5>\\d{1,2})\\:(?<ending_allowed_logon_mins5>\\d{1,2})\\:(?<ending_allowed_logon_seconds5>\\d{1,2})\\s(?<ending_allowed_logon_am_pm5>[AM|PM]+))?\\n?\\s+?)?((?<day6>[Friday|Saturday|Sunday|Monday|Tuesday|Wednesday|Thursday]+)\\s(?<starting_allowed_logon6>(?<starting_allowed_logon_hours6>\\d{1,2})\\:(?<starting_allowed_logon_mins6>\\d{1,2})\\:(?<starting_allowed_logon_seconds6>\\d{1,2})\\s(?<starting_allowed_logon_am_pm6>[AM|PM]+))\\s\\-\\s(?<endding_allowed_logon6>(?<ending_allowed_logon_hours6>\\d{1,2})\\:(?<ending_allowed_logon_mins6>\\d{1,2})\\:(?<ending_allowed_logon_seconds6>\\d{1,2})\\s(?<ending_allowed_logon_am_pm6>[AM|PM]+))?\\n?\\s+?)?)\\nLocal Group Memberships\\s+(((?:\\*)(?<local_group_memberships>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?((?:\\*)(?<local_group_memberships1>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?((?:\\*)(?<local_group_memberships2>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?((?:\\*)(?<local_group_memberships3>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?((?:\\*)(?<local_group_memberships4>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?((?:\\*)(?<local_group_memberships5>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?((?:\\*)(?<local_group_memberships6>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?((?:\\*)(?<local_group_memberships7>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?((?:\\*)(?<local_group_memberships8>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?((?:\\*)(?<local_group_memberships9>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?((?:\\*)(?<local_group_memberships10>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?)?Global Group memberships\\s+(((?:\\*)(?<global_group_memberships>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?((?:\\*)(?<global_group_memberships1>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?((?:\\*)(?<global_group_memberships2>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?((?:\\*)(?<global_group_memberships3>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?((?:\\*)(?<global_group_memberships4>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?((?:\\*)(?<global_group_memberships5>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?((?:\\*)(?<global_group_memberships6>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?((?:\\*)(?<global_group_memberships7>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?((?:\\*)(?<global_group_memberships8>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?((?:\\*)(?<global_group_memberships9>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?((?:\\*)(?<global_group_memberships10>\\b[\\s|\\w]+\\b)[\\s|\\n]*)?)The command completed successfully\\.";
final String string = "User name x.xxxxxx\n"
+ "Full Name Xxx X. Xxxxxxx\n"
+ "Comment Xxxxx Xxxxxx Xxxxx\n"
+ "User's comment Xxxxxxxxxxxxxx\n"
+ "Country/region code (null)\n"
+ "Account active Yes\n"
+ "Account expires 7/7/2020 12:00:00 AM\n\n"
+ "Password last set 6/6/2020 4:04:07 PM\n"
+ "Password expires 7/18/2020 4:04:07 PM\n"
+ "Password changeable 6/7/2020 4:04:07 PM\n"
+ "Password required Yes\n"
+ "User may change password Yes\n\n"
+ "Workstations allowed All\n"
+ "Logon script xxxx.xxxx\n"
+ "User profile c:\\Users\\xxxxxxxx\\Desktop\\script.ps1\n"
+ "Home directory c:\\Users\\xxxxxxxx\\Desktop\\script.ps1\n"
+ "Last logon Never\n\n"
+ "Logon hours allowed Sunday 8:00:00 AM - 4:00:00 PM\n"
+ " Monday 8:00:00 AM - 4:00:00 PM\n"
+ " Tuesday 8:00:00 AM - 4:00:00 PM\n"
+ " Wednesday 8:00:00 AM - 4:00:00 PM\n"
+ " Thursday 8:00:00 AM - 4:00:00 PM\n\n"
+ "Local Group Memberships *Access Control Assist*Administrators \n"
+ " *Allowed RODC Password*Cert Publishers \n"
+ "Global Group memberships *Domain Users \n"
+ "The command completed successfully. \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