Java正则表达式正确,但\s无法匹配空格
\s的介绍
上边说的是匹配空格,但是我今天爬取页面之后用正则表达式提取信息时:
用\s去无法完成空格的匹配。
空格的种类
- 半角空格
\u0020- 英文半角空格具有换行的效果,会出现不期望的换行现象;
-
可以通过正则表达式
\s进行匹配
- 全角空格
\u3000-
不可通过正则表达式
\s进行匹配
- 不间断空格
\u00A0- 主要用途用于禁止自动换行,在英文中主要用于避免类似**(100 KM)**这种文字被错误地分词排版成两行。
-
不可通过正则表达式
\s进行匹配
解决方案:
我们就不要用\s匹配,直接用unicode编码匹配[\u3000|\u0020\u00A0]+
直接匹配三种空格。
测试: