「java正则字符转义」正则表达式转义字符的用法

博主:adminadmin 2022-11-23 04:19:06 61

本篇文章给大家谈谈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正则字符转义的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-23,除非注明,否则均为首码项目网原创文章,转载请注明出处。