public static double[][] stringToRange(String rangeStr) {

        Matcher rangeMatcher = rangePattern.matcher(rangeStr);
        List<String> rangeStrs = new ArrayList<String>();
        while (rangeMatcher.find()) {
            rangeStrs.add(rangeMatcher.group());
        }
        if (rangeStrs.size() == 0) {
            return new double[0][];
        }
        double[][] rangs = new double[rangeStrs.size()][];
        List<String> tempRangeList = new ArrayList<String>();
        for (int i = 0; i < rangeStrs.size(); i++) {
            tempRangeList.clear();
            String range = rangeStrs.get(i);
            Matcher numberMatcher = numberPattern.matcher(range);
            while (numberMatcher.find()) {
                tempRangeList.add(numberMatcher.group());
            }
            rangs[i] = new double[tempRangeList.size()];
            for (int j = 0; j < tempRangeList.size(); j++) {
                rangs[i][j] = Double.parseDouble(tempRangeList.get(j));
            }
        }
        return rangs;
    }