code: public static Pattern times(final int min, final int max, final CharPredicate predicate) {
      Checks.checkMinMax(min, max);
      return new Pattern() {
        @Override
        public int match(CharSequence src, int begin, int end) {
          int minLen = RepeatCharPredicatePattern.matchRepeat(min, predicate, src, end, begin, 0);
          if (minLen == MISMATCH)
            return MISMATCH;
          return matchSome(max - min, predicate, src, end, begin + minLen, minLen);
        }
      };
    }
docs: Returns a {@link Pattern} that matches at least {@code min} and up to {@code max} number of characters satisfying
  {@code predicate},
  
  @since 2.2