java正则表达式特殊字符

在java使用正则表达式中,有些字符需要用转义字符才能被识别出来,他们分别是:

'$', '(', ')', '*', '+', '.', '[', ']', '?', '\\', '^', '{', '}', '|'

对于以上字符需要在前面加上\\来转义。


在这里提供一个方法来对特殊字符进行批量处理

  1. /** 
  2.  * 转义正则特殊字符 ($()*+.[]?\^{},|) 
  3.  *  
  4.  * @param keyword 
  5.  * @return 
  6.  */  
  7. public static String escapeExprSpecialWord(String keyword) {  
  8.     if (StringUtils.isNotBlank(keyword)) {  
  9.         String[] fbsArr = { "\\", "$", "(", ")", "*", "+", ".", "[", "]", "?", "^", "{", "}", "|" };  
  10.         for (String key : fbsArr) {  
  11.             if (keyword.contains(key)) {  
  12.                 keyword = keyword.replace(key, "\\" + key);  
  13.             }  
  14.         }  
  15.     }  
  16.     return keyword;  
  17. }  

你可能感兴趣的:(java正则表达式特殊字符)