java正则_$等特殊字符匹配

为什么80%的码农都做不了架构师?>>>   hot3.png

java正则表达式对某些特殊符号做了预定义,当要正则匹配这些特殊符号时,就需要转义。

示例:匹配美元符号与尖括号保卫的字符($

String regex = "\\u0024<([A-Z_a-z0-9]+>)";

附:特殊符号转义字符

点的转义:. ==> \\u002E

美元符号的转义:$ ==> \\u0024
乘方符号的转义:^ ==> \\u005E
左大括号的转义:{ ==> \\u007B
左方括号的转义:[ ==> \\u005B
左圆括号的转义:( ==> \\u0028
竖线的转义:| ==> \\u007C
右圆括号的转义:) ==> \\u0029
星号的转义:* ==> \\u002A
加号的转义:+ ==> \\u002B
问号的转义:? ==> \\u003F

反斜杠的转义:\ ==> \\u005C

附:Java中应该注意的一些特殊字符,转自https://my.oschina.net/u/658658/blog/410745

转义时可以采用两种方式: 
1. 正则表达式中表述上述字符,需要在前面加上“\”,但是“\”是 Java 中的特殊字符,在 Java 代码中用“\\”表示正则表达式中的“\”。 
2. 在需要保留本身意义的前后加上 \Q 和 \E,把特殊字符放在这里面就成普通字符了。 

PS:若想表示一个“\”,在 Java 代码中需要使用“\\\\” :)

String unitName = "11年真题分析(一)";

unitName = unitName.replaceAll("\\Q(\\E", "(");

System.out.println(unitName);

结果为:

11年真题分析(一)

转载于:https://my.oschina.net/svili/blog/775739

你可能感兴趣的:(java正则_$等特殊字符匹配)