在读别人的代码的时候,看到如下一句
大致查了一下资料:
这样看来,是想把匹配串中的$符号前面都手动的加上\$,然后再用\\$来替换被匹配串中的$符号....
总的来说,不是很理解,希望大家能够指点一下,谢谢
---------------------
得到某大哥指点了
看来\Q....\E是在其包含的字符串中的特殊字符前加转义了,原来non-word 字符是指特殊字符.
sqlstr = str.replaceAll("\\Q$\\E", "\\\\\\$");
大致查了一下资料:
\Q 在non-word 字符前加上\,直到\E
这样看来,是想把匹配串中的$符号前面都手动的加上\$,然后再用\\$来替换被匹配串中的$符号....
总的来说,不是很理解,希望大家能够指点一下,谢谢
---------------------
得到某大哥指点了
\Q...\E 适合用于:表达式中需要比较长的普通文本,而其中包含了特殊符号。
举例
表达式 说明
\Q(a+b)*3\E 可匹配文本 "(a+b)*3"。
\(a\+b\)\*3 如果不使用 \Q...\E 进行转义,则对每个特殊符号进行转义。
看来\Q....\E是在其包含的字符串中的特殊字符前加转义了,原来non-word 字符是指特殊字符.