List of all special characters that need to be escaped in a regex
- Java characters that have to be escaped in regular expressions are:
\.[]{}()<>*+-=!?^$|
- Two of the closing brackets (
]
and}
) only have to be escaped after opening the same type of bracket. - In
[]
-brackets some characters (like+
and-
) do sometimes work without escape.
You can look at the javadoc of the Pattern class: http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html
You need to escape any char listed there if you want the regular char and not the special meaning.
As a maybe simpler solution, you can put the template between \Q and \E - everything between them is considered as escaped.