Inspectopedia Help

Dynamic regular expression could be replaced by compiled 'Pattern'

Reports calls to the regular expression methods (such as matches() or split()) of java.lang.String using constant arguments.

Such calls may be profitably replaced with a private static final Pattern field so that the regular expression does not have to be compiled each time it is used.

Example:

text.replaceAll("abc", replacement);

After the quick-fix is applied:

private static final Pattern ABC = Pattern.compile("abc", Pattern.LITERAL); ABC.matcher(text).replaceAll(Matcher.quoteReplacement(replacement));

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023