请教java正则表达式的转义字符问题
1个回答
展开全部
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("&", "\\&");
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("&", "\\&");
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询