public static Map<String, String> getAllGroupNames(Pattern pattern, CharSequence content) {
		if (null == content || null == pattern) {
			return null;
		}
		final Matcher m = pattern.matcher(content);
		final Map<String, String> result = MapUtil.newHashMap(m.groupCount());
		if (m.find()) {
			// 通过反射获取 namedGroups 方法
			final Map<String, Integer> map = ReflectUtil.invoke(pattern, "namedGroups");
			map.forEach((key, value) -> result.put(key, m.group(value)));
		}
		return result;
	}
@Test
	public void getAllGroupNamesTest() {
		final String content = "2021-10-11";
		final String regex = "(?<year>\\d+)-(?<month>\\d+)-(?<day>\\d+)";
		final Map<String, String> map = ReUtil.getAllGroupNames(PatternPool.get(regex, Pattern.DOTALL), content);
		assertEquals(map.get("year"), "2021");
		assertEquals(map.get("month"), "10");
		assertEquals(map.get("day"), "11");
	}