• Java处理正则表达式特殊字符转义 转


    正则需要转义字符:'$', '(', ')', '*', '+', '.', '[', ']', '?', '\', '^', '{', '}', '|'
     
    异常现象: java.util.regex.PatternSyntaxException: Dangling meta. character '*' near index 0
    解决方法: 对特殊字符加\转义即可。
     
    注意:虽然使用[]在部分条件下也可以,但是在对于(、[、{范围边界开始符不匹配的情况下会报如下:
    异常现象:java.util.regex.PatternSyntaxException: Illegal repetition near index 50
     
    Java过滤正则表达式特殊字代码如下(注意:\需要第一个替换,否则replace方法替换时会有逻辑bug)
     
     1     /**
     2      * 转义正则特殊字符 ($()*+.[]?^{}
     3      * \需要第一个替换,否则replace方法替换时会有逻辑bug
     4      */
     5     public static String makeQueryStringAllRegExp(String str) {
     6         if(StringUtils.isBlank(str)){
     7             return str;
     8         }
     9 
    10         return str.replace("\", "\\").replace("*", "\*")
    11                 .replace("+", "\+").replace("|", "\|")
    12                 .replace("{", "\{").replace("}", "\}")
    13                 .replace("(", "\(").replace(")", "\)")
    14                 .replace("^", "\^").replace("$", "\$")
    15                 .replace("[", "\[").replace("]", "\]")
    16                 .replace("?", "\?").replace(",", "\,")
    17                 .replace(".", "\.").replace("&", "\&");
    18     }
  • 相关阅读:
    POJ 1251 Jungle Roads
    1111 Online Map (30 分)
    1122 Hamiltonian Cycle (25 分)
    POJ 2560 Freckles
    1087 All Roads Lead to Rome (30 分)
    1072 Gas Station (30 分)
    1018 Public Bike Management (30 分)
    1030 Travel Plan (30 分)
    22. bootstrap组件#巨幕和旋转图标
    3. Spring配置文件
  • 原文地址:https://www.cnblogs.com/wihainan/p/6293129.html
Copyright © 2020-2023  润新知