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]

posted @ 2020-02-26 14:42  厦门_成  阅读(1627)  评论(0编辑  收藏  举报