java 正則表達式空格無法匹配


舉個例子

Boolean xx= Pattern.matches("^[a-zA-Z0-9\\s]*$", " 801 Tampines Ave 4 Singapore 520801sss1");  匹配結果是false 

 

在眾多正則表達式的教程中,對於\s的解釋都是匹配空格。但在java中,\s不能對他們全部進行匹配。

半角空格:“ ”.
Unicode編碼為:\u0020
可以通過正則表達式中的\s進行匹配


全角空格:“ ”
Unicode編碼為:\u3000
不能通過正則表達式中的\s進行匹配
不換行空格(連續空格)


Unicode編碼為:\u00A0,主要用在office中。
不能通過正則表達式中的\s進行匹配

 

匹配三種空格\s 改用 [\u3000|\u0020|\u00A0]


免責聲明!

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



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