Java替换正则表达式的所有无效字符

时间:2013-07-28 23:13:04

标签: java regex

My String很大,当我在循环中读取每个String时,它会不断变化。它可以包含任何字符,如“,/,\。$,?,[,&,。,',),%,^,+,*等。我想逃避可能导致正则表达式的所有此类字符在Java中使用此字符串失败.Javascript在其中一个帖子中有类似的内容,就像这样 -

return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");

Java有类似的东西吗?我不确定逃脱的角色应该是什么。像str.replaceAll(“[^ \ u0000- \ u00ff] +”,“”)那样做吗? (但是我在这里丢失数据,如果我用空格替换所有数据,我想避免这样做)

1 个答案:

答案 0 :(得分:5)

使用此:

String myEscapedString = Pattern.quote(myRawString);