diff --git a/src/main/java/xyz/zhouxy/plusone/commons/util/RegexTools.java b/src/main/java/xyz/zhouxy/plusone/commons/util/RegexTools.java index d01dd97..46250dc 100644 --- a/src/main/java/xyz/zhouxy/plusone/commons/util/RegexTools.java +++ b/src/main/java/xyz/zhouxy/plusone/commons/util/RegexTools.java @@ -61,31 +61,6 @@ public final class RegexTools { return getPatternInternal(pattern); } - /** - * 将各个正则表达式转为 {@link Pattern} 实例。 - * - * @param patterns 正则表达式 - * @param cachePattern 是否缓存 {@link Pattern} 实例 - * @return {@link Pattern} 实例数组 - */ - public static Pattern[] getPatterns(final String[] patterns, final boolean cachePattern) { - AssertTools.checkArgument(ArrayTools.isAllElementsNotNull(patterns)); - return cachePattern - ? cacheAndGetPatternsInternal(patterns) - : getPatternsInternal(patterns); - } - - /** - * 将各个正则表达式转为 {@link Pattern} 实例,不缓存。 - * - * @param patterns 正则表达式 - * @return {@link Pattern} 实例数组 - */ - public static Pattern[] getPatterns(final String[] patterns) { - AssertTools.checkArgument(ArrayTools.isAllElementsNotNull(patterns)); - return getPatternsInternal(patterns); - } - /** * 判断 {@code input} 是否匹配 {@code pattern}。 * @@ -151,66 +126,6 @@ public final class RegexTools { return matchesInternal(input, getPatternInternal(pattern)); } - /** - * 判断 {@code input} 是否匹配 {@code patterns} 中的一个。 - * - * @param input 输入 - * @param patterns 正则表达式 - * @param cachePattern 是否缓存 {@link Pattern} 实例 - * @return 判断结果 - */ - public static boolean matchesOne(@Nullable final CharSequence input, final String[] patterns, - final boolean cachePattern) { - AssertTools.checkArgument(ArrayTools.isAllElementsNotNull(patterns)); - final Pattern[] patternSet = cachePattern - ? cacheAndGetPatternsInternal(patterns) - : getPatternsInternal(patterns); - return matchesOneInternal(input, patternSet); - } - - /** - * 判断 {@code input} 是否匹配 {@code patterns} 中的一个。不缓存 {@link Pattern} 实例。 - * - * @param input 输入 - * @param patterns 正则表达式 - * @return 判断结果 - */ - public static boolean matchesOne(@Nullable final CharSequence input, final String[] patterns) { - AssertTools.checkArgument(ArrayTools.isAllElementsNotNull(patterns)); - final Pattern[] patternSet = getPatternsInternal(patterns); - return matchesOneInternal(input, patternSet); - } - - /** - * 判断 {@code input} 是否匹配全部正则。 - * - * @param input 输入 - * @param patterns 正则表达式 - * @param cachePattern 是否缓存 {@link Pattern} 实例 - * @return 判断结果 - */ - public static boolean matchesAll(@Nullable final CharSequence input, final String[] patterns, - final boolean cachePattern) { - AssertTools.checkArgument(ArrayTools.isAllElementsNotNull(patterns)); - final Pattern[] patternSet = cachePattern - ? cacheAndGetPatternsInternal(patterns) - : getPatternsInternal(patterns); - return matchesAllInternal(input, patternSet); - } - - /** - * 判断 {@code input} 是否匹配全部正则。不缓存 {@link Pattern} 实例。 - * - * @param input 输入 - * @param patterns 正则表达式 - * @return 判断结果 - */ - public static boolean matchesAll(@Nullable final CharSequence input, final String[] patterns) { - AssertTools.checkArgument(ArrayTools.isAllElementsNotNull(patterns)); - final Pattern[] patternSet = getPatternsInternal(patterns); - return matchesAllInternal(input, patternSet); - } - /** * 生成 Matcher。 * @@ -289,32 +204,6 @@ public final class RegexTools { return result; } - /** - * 将各个正则表达式转为 {@link Pattern} 实例。 - * - * @param patterns 正则表达式 - * @return {@link Pattern} 实例数组 - */ - @Nonnull - private static Pattern[] cacheAndGetPatternsInternal(final String[] patterns) { - return Arrays.stream(patterns) - .map(RegexTools::cacheAndGetPatternInternal) - .toArray(Pattern[]::new); - } - - /** - * 将各个正则表达式转为 {@link Pattern} 实例。 - * - * @param patterns 正则表达式 - * @return {@link Pattern} 实例数组 - */ - @Nonnull - private static Pattern[] getPatternsInternal(final String[] patterns) { - return Arrays.stream(patterns) - .map(RegexTools::getPatternInternal) - .toArray(Pattern[]::new); - } - /** * 判断 {@code input} 是否匹配 {@code pattern}。 * diff --git a/src/test/java/xyz/zhouxy/plusone/commons/util/RegexToolsTests.java b/src/test/java/xyz/zhouxy/plusone/commons/util/RegexToolsTests.java index 673039b..70fd6c2 100644 --- a/src/test/java/xyz/zhouxy/plusone/commons/util/RegexToolsTests.java +++ b/src/test/java/xyz/zhouxy/plusone/commons/util/RegexToolsTests.java @@ -55,31 +55,6 @@ class RegexToolsTests { }); } - @Test - void getPatterns_CachePatternTrue_ReturnsCachedPatterns() { - String[] patterns = {"abc", "def"}; - Pattern[] cachedPatterns = RegexTools.getPatterns(patterns, true); - Pattern[] patternsFromCache = RegexTools.getPatterns(patterns, true); - assertSame(cachedPatterns[0], patternsFromCache[0]); - assertSame(cachedPatterns[1], patternsFromCache[1]); - } - - @Test - void getPatterns_CachePatternFalse_ReturnsNewPatterns() { - String[] patterns = {"getPatterns_CachePatternFalse_ReturnsNewPatterns1", "getPatterns_CachePatternFalse_ReturnsNewPatterns2"}; - Pattern[] patterns1 = RegexTools.getPatterns(patterns, false); - Pattern[] patterns2 = RegexTools.getPatterns(patterns, false); - assertNotSame(patterns1[0], patterns2[0]); - assertNotSame(patterns1[1], patterns2[1]); - } - - @Test - void getPatterns_NullPatterns_ThrowsException() { - assertThrows(IllegalArgumentException.class, () -> { - RegexTools.getPatterns(null, true); - }); - } - @Test void matches_InputMatchesPattern_ReturnsTrue() { String pattern = "abc";