一、java中的正則轉義
在java中有許多對字符串的處理方法(如:split、replaceAll)需要用到正則表達式,而java對正則的處理不像js那樣便捷。
java中沒有轉義字符串格式,因此使用普通字符串代替,但問題來了,普通字符串中也是支持轉義字符的!
因此,我們經常會看到js中需要轉移的
/\*/
在java中這樣寫
\\*
第一個轉義字符轉義第二個轉義字符,之后正則方法調用者看到的就是
\*
於是讀取到的轉義字符就會轉義*,最終正則方法調用者讀到的是字符串
*
二、通用轉義格式
針對字符
( [ { / ^ - $ ¦ } ] ) ? * + .
需要轉義方法為字符前面加上"\\"
三、巨坑的 \ 轉義
根據以上分析,java使用正則會對普通字符串進行兩次正則分析(普通字符串本身一次,正則方法一次),於是如果要匹配單杠
\
我們應該使用
“\\\\”