Inspectopedia
 
2024.3

Suspicious regex expression argument

Warning
New
Last modified: 03 December 2024

Reports calls to String.replaceAll() or String.split() where the first argument is a single regex meta character argument.

The regex meta characters are one of .$|()[{^?*+\. They have a special meaning in regular expressions. For example, calling "ab.cd".replaceAll(".", "-") produces "-----", because the dot matches any character. Most likely the escaped variant "\\." was intended instead.

Using File.separator as a regex is also reported. The File.separator has a platform specific value. It equals to / on Linux and Mac but equals to \ on Windows, which is not a valid regular expression, so such code is not portable.

Example:

After the quick-fix is applied: