code: public static String extractMulti(Pattern pattern, CharSequence content, String template) {
  		if (null == content || null == pattern || null == template) {
  			return null;
  		}
  
  		//提取模板中的编号
  		final TreeSet<Integer> varNums = new TreeSet<>(new Comparator<Integer>() {
  			@Override
  			public int compare(Integer o1, Integer o2) {
  				return ObjectUtil.compare(o2, o1);
  			}
  		});
  		final Matcher matcherForTemplate = PatternPool.GROUP_VAR.matcher(template);
  		while (matcherForTemplate.find()) {
  			varNums.add(Integer.parseInt(matcherForTemplate.group(1)));
  		}
  
  		final Matcher matcher = pattern.matcher(content);
  		if (matcher.find()) {
  			for (Integer group : varNums) {
  				template = template.replace("$" + group, matcher.group(group));
  			}
  			return template;
  		}
  		return null;
  	}
docs: 从content中匹配出多个值并根据template生成新的字符串<br>
  例如：<br>
  content 2013年5月 pattern (.*?)年(.*?)月 template： $1-$2 return 2013-5
  
  @param pattern 匹配正则
  @param content 被匹配的内容
  @param template 生成内容模板，变量 $1 表示group1的内容，以此类推
  @return 新字符串