Код: Выделить всё
\(\)|\[]|\{}
- это не так читабельно
- в Java становится еще менее читаемым:
но все равно работает нормально, как показывает мой тестовый класс.
Код: Выделить всё
\\(\\)|\\[]|\\{}
Код: Выделить всё
private static final String MATCH_OPENING_BRACE = "\u0028";
private static final String MATCH_CLOSING_BRACE = "\u0029";
private static final String MATCH_OPENING_SQUARE_BRACE = "\u005B";
private static final String MATCH_CLOSING_SQUARE_BRACE = "\u005D";
private static final String MATCH_OPENING_CURLY_BRACE = "\u007B";
private static final String MATCH_CLOSING_CURLY_BRACE = "\u007D";
private static final String MATCHING_OR_FLAG = "|";
private static final String COMPLETE_REGEX =
MATCH_OPENING_BRACE + MATCH_CLOSING_BRACE
+ MATCHING_OR_FLAG + MATCH_OPENING_SQUARE_BRACE + MATCH_CLOSING_SQUARE_BRACE
+ MATCHING_OR_FLAG + MATCH_OPENING_CURLY_BRACE + MATCH_CLOSING_CURLY_BRACE;
private static final String REGEX_REPLACEMENT = "";
Код: Выделить всё
@Override
public boolean isValid(String input) {
for (int i = input.length() / 2; i > 0; i--)
input = input.replaceAll(COMPLETE_REGEX, REGEX_REPLACEMENT);
return input.isEmpty();
}
Код: Выделить всё
@Override
public boolean isValid(String input) {
for (int i = input.length() / 2; i > 0; i--)
input = input.replaceAll("\\(\\)|\\[]|\\{}", "");
return input.isEmpty();
}
Код: Выделить всё
java.util.regex.PatternSyntaxException: Unclosed character class near index 7
()|[]|{}
^
Код: Выделить всё
private static final String MATCH_OPENING_CURLY_BRACE = "\\\u007B";
Код: Выделить всё
java.util.regex.PatternSyntaxException: Unclosed character class near index 8
()|[]|\{}
^
Подробнее здесь: https://stackoverflow.com/questions/793 ... ts-literal
Мобильная версия