Java中字符轉義的坑


一、java中的正則轉義

  在java中有許多對字符串的處理方法(如:split、replaceAll)需要用到正則表達式,而java對正則的處理不像js那樣便捷。  

  java中沒有轉義字符串格式,因此使用普通字符串代替,但問題來了,普通字符串中也是支持轉義字符的!

  因此,我們經常會看到js中需要轉移的

  /\*/

  在java中這樣寫

  \\*

  第一個轉義字符轉義第二個轉義字符,之后正則方法調用者看到的就是

  \*

  於是讀取到的轉義字符就會轉義*,最終正則方法調用者讀到的是字符串

  *

二、通用轉義格式

  針對字符

  ( [ { / ^ - $ ¦ } ] ) ? * + .

  需要轉義方法為字符前面加上"\\"

三、巨坑的 \ 轉義

  根據以上分析,java使用正則會對普通字符串進行兩次正則分析(普通字符串本身一次,正則方法一次),於是如果要匹配單杠

  \

  我們應該使用

  “\\\\”


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM