在.NET、Java、JavaScript、Python的正则表达式中,可以用\uXXXX
表示一个Unicode字符,其中XXXX
为四位16进制数字。
经常在 Core Java 中看见这样使用正则表达式的:
String contents = new String(Files.readAllBytes(Paths.get("alice.txt")), StandardCharsets.UTF_8);
String[] word = contents.split("[\\p{L}]+"); // Split along nonletters
重点在于 \\P{L}
这段。
在正则表达式中,\P{L}
表示字符,加上 \
后,表示取反。
所以 \\P{L}
就表示非字符(nonletters)(空格,回车,制表符等)。