regex - Java regular expression -
i want replace 1 of these chars:
% \ , [ ] # & @ ! ^ ... empty string ("").
i used code:
string line = "[ybi-173]"; pattern cleanpattern = pattern.compile("%|\\|,|[|]|#|&|@|!|^"); matcher matcher = cleanpattern.matcher(line); line = matcher.replaceall(""); but doesn't work.
what miss in regular expression?
there several reasons why solution doesn't work.
several of characters wish match have special meanings in regular expressions, including ^, [, , ]. these must escaped \ character, but, make matters worse, \ must escaped java compiler pass \ through regular expression constructor. so, sum step one, if wish match ] character, java string must "\\]".
but, furthermore, case character classes [], rather alternation operator |. if want match "any of characters a, b, c, looks [abc]. character class [%\,[]#&@!^], but, because of java string escaping rules , special meaning of characters, regex [%\\\\,\\[\\]#&@!\\^].
Comments
Post a Comment