import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.ArrayList;

class Ideone
{
	public static void main (String[] args) throws java.lang.Exception
	{
        String regex = "#Section(\\d+)\\b(?:(?!#Section\\d).)*\\bJack/M,(\\d+\\h+[-+]?\\d+(?:\\.\\d+)?(?:\\s+\\d+\\h+[-+]?\\d+(?:\\.\\d+)?)*)";
        String string = "#Section250342,Main,First/HS/12345/Jack/M,200010 10.00 200011 -2.00,\n"
                + "#Section250322,Main,First/HS/12345/Aaron/N,200010 17.00,\n"
                + "#Section250399,Main,First/HS/12345/Jimmy/N,200010 12.00,\n"
                + "#Section251234,Main,First/HS/12345/Jack/M,200011 11.00";

        Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
        Matcher matcher = pattern.matcher(string);

        List<String> group1 = new ArrayList<>();
        List<String> group2 = new ArrayList<>();
        List<String> group3 = new ArrayList<>();

        while (matcher.find()) {
            group1.add(matcher.group(1));
            String[] parts = matcher.group(2).split("\\s+");
            for (int i = 0; i < parts.length; i++) {
                if (i % 2 == 0) {
                    group2.add(parts[i]);
                } else {
                    group3.add(parts[i]);
                }
            }
        }
        System.out.println("Group 1: " + Arrays.toString(group1.toArray()));
        System.out.println("Group 2: " + Arrays.toString(group2.toArray()));
        System.out.println("Group 3: " + Arrays.toString(group3.toArray()));
    }
}