Java正则表达式正确,但\s无法匹配空格

\s的介绍

Java正则表达式正确,find()方法返回false,可能是因为\s无法匹配空格

上边说的是匹配空格,但是我今天爬取页面之后用正则表达式提取信息时:

\s去无法完成空格的匹配。

空格的种类

  • 半角空格
    • \u0020
    • 英文半角空格具有换行的效果,会出现不期望的换行现象;
    • 可以通过正则表达式\s进行匹配
  • 全角空格
    • \u3000
    • 不可通过正则表达式\s进行匹配
  • 不间断空格
    • \u00A0
    • 主要用途用于禁止自动换行,在英文中主要用于避免类似**(100 KM)**这种文字被错误地分词排版成两行。
    • 不可通过正则表达式\s进行匹配

解决方案:

我们就不要用\s匹配,直接用unicode编码匹配[\u3000|\u0020\u00A0]+

直接匹配三种空格。

Java正则表达式正确,find()方法返回false,可能是因为\s无法匹配空格

测试:

Java正则表达式正确,find()方法返回false,可能是因为\s无法匹配空格

测试

相关文章:

  • 2022-02-12
  • 2022-12-23
  • 2022-01-01
  • 2022-01-16
  • 2021-11-04
  • 2022-12-23
  • 2021-11-17
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-06-20
  • 2021-12-25
  • 2022-12-23
  • 2022-12-23
  • 2021-05-25
  • 2021-12-04
相关资源
相似解决方案