docs: public static ModeValue parseMode(String value) {
          PatternMatcher matcher = new Perl5Matcher();
          if (matcher.matches(value, patterns.get(MODE_PATTERN))) {
              MatchResult matchResult = matcher.getMatch();
              String prefix = matchResult.group(1);
              String startStr = matchResult.group(3);
              String ednStr = matchResult.group(4);
              int start = Integer.valueOf(startStr);
              int end = Integer.valueOf(ednStr);
              String postfix = matchResult.group(5);
  
              List<String> values = new ArrayList<String>();
              for (int i = start; i <= end; i++) {
                  StringBuilder builder = new StringBuilder(value.length());
                  String str = String.valueOf(i);
                  // 处理0001类型
                  if (startStr.length() == ednStr.length() && startStr.startsWith("0")) {
                      str = StringUtils.leftPad(String.valueOf(i), startStr.length(), '0');
                  }
  
                  builder.append(prefix).append(str).append(postfix);
                  values.add(builder.toString());
              }
              return new ModeValue(Mode.MULTI, values);
          } else if (isWildCard(value)) {// 通配符支持
              return new ModeValue(Mode.WILDCARD, Arrays.asList(value));
          } else {
              return new ModeValue(Mode.SINGLE, Arrays.asList(value));
          }
      }