diff --git a/api/src/org/labkey/api/util/PageFlowUtil.java b/api/src/org/labkey/api/util/PageFlowUtil.java index 70a7201594d..c22804630fb 100644 --- a/api/src/org/labkey/api/util/PageFlowUtil.java +++ b/api/src/org/labkey/api/util/PageFlowUtil.java @@ -221,7 +221,7 @@ static public String filter(CharSequence s, boolean encodeSpace, boolean encodeL StringBuilder sb = new StringBuilder(2 * len); boolean newline = false; - Matcher urlMatcher = urlPatternStart.matcher(s); + CachingSupplier urlMatcher = new CachingSupplier<>(() -> urlPatternStart.matcher(s)); for (int i = 0; i < len; ++i) { @@ -281,10 +281,10 @@ else if (newline) { if (StringUtilsLabKey.startsWithURL(s.subSequence(i, Math.min(s.length(),i+10)))) { - urlMatcher.region(i, s.length()); - if (urlMatcher.lookingAt()) + urlMatcher.get().region(i, s.length()); + if (urlMatcher.get().lookingAt()) { - String href = urlMatcher.group(1); + String href = urlMatcher.get().group(1); if (href.endsWith(".")) href = href.substring(0, href.length() - 1); // for html/xml careful of " and "> and "/>