void (RegExpChar ch) { if (ch.getType() != RegExpChar.Type.CHAR) { return; } final String text = ch.getUnescapedText(); if (text.length() != 2 || text.charAt(0) != '\\') { return; } final char c = text.charAt(1); if ("{}().*+?|$".indexOf(c) < 0) { return; } final ASTNode node = ch.getNode().getFirstChildNode(); if (node != null && node.getElementType() == RegExpTT.REDUNDANT_ESCAPE) { return; } myHolder.registerProblem(ch, RegExpBundle.message("inspection.warning.escaped.meta.character.0", c), new EscapedMetaCharacterFix(c)); }