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

java正則表達式對某些特殊符號作了預約義,當要正則匹配這些特殊符號時,就須要轉義。java

示例:匹配美圓符號與尖括號保衛的字符($<xxxx>) 正則表達式

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

附:特殊符號轉義字符.net

點的轉義:. ==> \\u002Ecode

美圓符號的轉義:$ ==> \\u0024
乘方符號的轉義:^ ==> \\u005E
左大括號的轉義:{ ==> \\u007B
左方括號的轉義:[ ==> \\u005B
左圓括號的轉義:( ==> \\u0028
豎線的轉義:| ==> \\u007C
右圓括號的轉義:) ==> \\u0029
星號的轉義:* ==> \\u002A
加號的轉義:+ ==> \\u002B
問號的轉義:? ==> \\u003Fblog

反斜槓的轉義:\ ==> \\u005Cit

附:Java中應該注意的一些特殊字符,轉自https://my.oschina.net/u/658658/blog/410745class

轉義時能夠採用兩種方式: 
1. 正則表達式中表述上述字符,須要在前面加上「\」,可是「\」是 Java 中的特殊字符,在 Java 代碼中用「\\」表示正則表達式中的「\」。 
2. 在須要保留自己意義的先後加上 \Q 和 \E,把特殊字符放在這裏面就成普通字符了。 co

PS:若想表示一個「\」,在 Java 代碼中須要使用「\\\\」 :)字符

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

unitName = unitName.replaceAll("\\Q(\\E", "<font color='#CC0000'>(</font>");

System.out.println(unitName);

結果爲:

11年真題分析<font color='#CC0000'>(</font>一)

相關文章
相關標籤/搜索