StringEscapeUtils没有转义{

Tud*_*dor 1 java regex escaping

我有以下字符串:

String str = "{% assign foo = values %}.{{ foo[0] }}."
Run Code Online (Sandbox Code Playgroud)

我正在尝试将其编译为模式:

Pattern p = Pattern.compile(StringEscapeUtils.escapeJava(str));
Run Code Online (Sandbox Code Playgroud)

但是编译因"非法重复"错误而失败,我猜这是因为'{'char没有被转义.

我怎样才能正确逃脱它?最好不要在每个角色前添加"\\".

Tom*_*lak 5

你不想要StringEscapeUtils.escapeJava()你想要的Pattern.quote().