编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

《Java核心技术(java core)》 正则 "\\PL+"是什么意思?

在Java核心技术卷 卷2 第一章 Java SE 8 的流库的第3页,有这样一段代码:

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

我们来看下 \\PL+ 的意义,这个正则的意思应该就是以非字母分隔符。

小写p是property的意思,表示Unicode属性,用于Unicode正表达式的前缀。

中括号内的P表示Unicode字符集七个字符属性之一:标点字符。

其他六个属性:

L:字母;

M:标记符号(一般不会单独出现);

Z:分隔符(比如空格、换行等);

S:符号(比如数学符号、货币符号等);

N:数字(比如阿拉伯数字、罗马数字等);

C:其他字符。

由此,"\\PL+"正则还可以派生以下格式:

"\\PN+" 非数字;

"\\PZ+" 非分隔符;

"\\PS+" 非符号;

等等....

未经允许不得转载: 技术文章 » Java编程 » 《Java核心技术(java core)》 正则 "\\PL+"是什么意思?