java 正则表达式空格无法匹配

那年仲夏 提交于 2020-02-26 15:42:51

举个例子

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]

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!