Is there a library or any easy way to convert a string and make sure its compatible as a regex to look for and replace in another string. So if the string is "$money" it would get converted to "\$money". I tried using StringEscapeUtil.escape but it doesn't work with characters such as $.
Asked
Active
Viewed 1.7k times
2 Answers
7
Prepend the \\Q
in front of the string, and \\E
at the end:
"\\Q$money\\E"
This tells the regex engine that the string between \Q
and \E
must be interpreted verbatim, ignoring any metacharacters that it may contain.

Sergey Kalinichenko
- 714,442
- 84
- 1,110
- 1,523
-
1Thank you! Apparently this is what Pattern.quote() does. – Kevin Colin Jun 20 '13 at 23:04
-
1But what if the String contains `\\E` in it ? – 27px Jan 16 '21 at 15:05