mirror of
https://gitee.com/dolphinscheduler/DolphinScheduler.git
synced 2024-12-05 05:38:30 +08:00
[refactor][perf] cache compiled regex pattern (#10099)
(cherry picked from commit 5161df04d7
)
This commit is contained in:
parent
68e6e45bb8
commit
69a76e8658
@ -40,9 +40,8 @@ import java.util.regex.Pattern;
|
||||
* parameter parse utils
|
||||
*/
|
||||
public class ParameterUtils {
|
||||
private static final String DATE_PARSE_PATTERN = "\\$\\[([^\\$\\]]+)]";
|
||||
|
||||
private static final String DATE_START_PATTERN = "^[0-9]";
|
||||
private static final Pattern DATE_PARSE_PATTERN = Pattern.compile("\\$\\[([^\\$\\]]+)]");
|
||||
private static final Pattern DATE_START_PATTERN = Pattern.compile("^[0-9]");
|
||||
|
||||
private ParameterUtils() {
|
||||
throw new UnsupportedOperationException("Construct ParameterUtils");
|
||||
@ -165,15 +164,15 @@ public class ParameterUtils {
|
||||
if (templateStr == null) {
|
||||
return null;
|
||||
}
|
||||
Pattern pattern = Pattern.compile(DATE_PARSE_PATTERN);
|
||||
|
||||
|
||||
StringBuffer newValue = new StringBuffer(templateStr.length());
|
||||
|
||||
Matcher matcher = pattern.matcher(templateStr);
|
||||
Matcher matcher = DATE_PARSE_PATTERN.matcher(templateStr);
|
||||
|
||||
while (matcher.find()) {
|
||||
String key = matcher.group(1);
|
||||
if (Pattern.matches(DATE_START_PATTERN, key)) {
|
||||
if (DATE_START_PATTERN.matcher(key).matches()) {
|
||||
continue;
|
||||
}
|
||||
String value = TimePlaceholderUtils.getPlaceHolderTime(key, date);
|
||||
|
Loading…
Reference in New Issue
Block a user