当前位置: 首页 > 知识库问答 >
问题:

正则表达式模式“[\\P{L}]”在Java中是什么意思?[副本]

申屠宏胜
2023-03-14

代码:

Arrays.asList("AAAA DDDD, DDDD".split("[\\P{L}]+")).forEach(System.out::println);

输出:

AAAA
DDDD
DDDD

请注意它是P{L}而不是P{L}(意思是字母)。我在谷歌上搜索了一下,但什么也没找到。有人能给我一些提示吗?

共有2个答案

卫嘉泽
2023-03-14

简单:它与\\p{L}相反。

基本上所有的“非字母”。

我在API中找不到确切的引用,但您可以从行为中推断出建议,或者说,\\svs\\s(这里有文档记录)。

编辑(归功于Tunaki有眼睛)

文件中的以下陈述实际上表明了这一点:

Unicode块和类别是用Perl中的\p和\p结构编写的。

郦兴德
2023-03-14

您可以在PatternJavadoc中找到解释:

Unicode脚本、块、类别和二进制属性是用Perl中的\p\P构造编写的。\p{prop}匹配输入是否具有属性prop,而\P{prop}如果输入具有该属性,则不匹配。

所以它与\p相反。

 类似资料: