「java正则字符转义」正则表达式转义字符的用法
本篇文章给大家谈谈java正则字符转义,以及正则表达式转义字符的用法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java正则表达式式中的转义符问题
因为正则表达式的\是转义符
同时\有事java的字符串的转义符
我们换个说法
假设正则比表达式里面用$作为转义符,你要查找\就要写为$\
而java字符串里面,\是转义符,所以需要写成$\\
我们假设后面转义好的\\为a,则是$a
再把$转化为真实的\,同时java里面\需要转义,所以是\\a
把a替换回去就是\\\\
只写2的话,是转义符后面有需要转义的东西,所以出错
请教java正则表达式的转义字符问题
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("", "\\");
java正则 /\t/ new RegExp("\\t") 为什么要双转义
因为java的正则表达式在是字符串里的,\是java字符串中的转义符。\也是正则表达式中的转义符。那么只加一个\的话,只能说明在字符串中转义符,而java需要进一步把普通字符串中的\变成正则表达式中的\,像是更深一则转化的意思,这样\\以后的意思是正则表达式中的转义符(\)。
要把\把变成正则表达式中的\,所以\\是转义了一个\
我的回答简而言之,在java中(别的语言有别的规矩),正则表达式字符串,和普通字串是两个东西。
java正则字符转义的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于正则表达式转义字符的用法、java正则字符转义的信息别忘了在本站进行查找喔。
发布于:2022-11-23,除非注明,否则均为
原创文章,转载请注明出处。