Вам необходимо дважды экранировать обратную косую черту, один раз для механизма обработки строк и один раз для механизма регулярных выражений:
replaceAll("'","\\\\'")
Предупреждение: Пока это отвечает на вопрос о том, как вставитьобратная косая черта в строку, она, конечно, не должна использоваться в попытке предотвратить атаки с использованием SQL-инъекций.
Для пояснения: представьте, что кто-то отправляет строку, в которой апостроф уже экранирован .Это регулярное выражение приведет к тому, что апостроф будет неоткрытым (потому что теперь обратный слеш станет экранированным).Так что на самом деле вам понадобится это регулярное выражение, чтобы избежать апострофа, только если ему предшествует четное число обратных косых черт.Это означает, что
replaceAll("(?<!\\\\)((?:\\\\\\\\)*)'", "$1\\\\'")
Это быстро становится столь же неуправляемым, как кажется, и все еще не охватывает все случаи.