小编doc*_*red的帖子

未记录的Java正则表达式字符类:\ p {C}

我在Java项目中发现了一个有趣的正则表达式: "[\\p{C}&&\\S]"

我理解这&&意味着"设置交集",并且\S是"非空白",但是什么是\p{C},并且可以使用吗?

java.util.regex.Pattern中的文件没有提到它.列表中唯一相似的类是\p{Cntrl},但它们的行为不同:它们都匹配控制字符,但在U + FFFF上方的Unicode字符上\p{C}匹配两次,例如PILE OF POO:

public class StrangePattern {
    public static void main(String[] argv) {

        // As far as I can tell, this is the simplest way to create a String
        // with code points above U+FFFF.
        String poo = new String(Character.toChars(0x1F4A9));

        System.out.println(poo);  // prints ``
        System.out.println(poo.replaceAll("\\p{C}", "?"));  // prints `??`
        System.out.println(poo.replaceAll("\\p{Cntrl}", "?"));  // prints ``
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经随处可见的唯一一提的是在这里 …

java regex unicode

28
推荐指数
2
解决办法
5451
查看次数

标签 统计

java ×1

regex ×1

unicode ×1