From 32ff4796e1763405cff239f74498794fd4c44f76 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sun, 17 May 2026 00:36:55 +0000 Subject: [PATCH] Optimize string escaping in TestFileNamePatternParser Co-authored-by: RoiSoleil <3462260+RoiSoleil@users.noreply.github.com> --- .../moreunit/core/matching/TestFileNamePatternParser.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/org.moreunit.core/src/org/moreunit/core/matching/TestFileNamePatternParser.java b/org.moreunit.core/src/org/moreunit/core/matching/TestFileNamePatternParser.java index 12562bdd..20343389 100644 --- a/org.moreunit.core/src/org/moreunit/core/matching/TestFileNamePatternParser.java +++ b/org.moreunit.core/src/org/moreunit/core/matching/TestFileNamePatternParser.java @@ -14,8 +14,6 @@ public class TestFileNamePatternParser { public static final String SRC_FILE_VARIABLE = "${srcFile}"; - private static final Pattern CHARS_TO_ESCAPE = Pattern.compile("([\\*\\(\\)\\|])"); - private final String patternToParse; private final NameTokenizer tokenizer; @@ -151,7 +149,11 @@ private UserDefinedPart(String str, String separator) private static String escapeCharsWhereNeeded(String str) { - return CHARS_TO_ESCAPE.matcher(str).replaceAll(quoteReplacement("\\$1")); + // PERFORMANCE: Use chained literal String.replace instead of regex Matcher.replaceAll + return str.replace("*", "\\*") + .replace("(", "\\(") + .replace(")", "\\)") + .replace("|", "\\|"); } private void parse()