Java 中的"\\PL+"

  |   0 评论   |   0 浏览

今天在看《Java核心技术 卷II》的时候,书中有这样一行代码:

1List<String> words = Arrays.asList(contents.split("\\PL+"));

代码中的"\\PL+"应该是正则表达式,但是之前没有见过这种形式,于是上网查了下。
原来这是一种用于处理Unicode的正则表达式,"\PL+"表示一到多个非字母字符(其中,L代表letter),一个到多个字母则用"\pL+"表示。

相关资料:
https://zh.wikipedia.org/wiki/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F#Unicode%E5%A4%84%E7%90%86
https://www.regular-expressions.info/unicode.html
http://unicode.org/reports/tr18/