String output = input.replaceAll("(\p{Ll})(\p{Lu})","$1 $2");此正则表达式搜索后跟大写字母的小写字母,并将其替换为前者,空格和后者(有效地用空格分隔)。它将它们中的每一个置于捕获组
()中,以便能够通过反向引用(
$1和
$2)重用替换字符串中的值。
为了找到大写和小写字母,它使用
p{Ll}和p{Lu}(而不是[a-z]和
[A-Z]),因为它处理 所有的
大写和小写字母在Unipre标准,而不仅仅是在ASCII范围内的那些(统一的正则表达式这个漂亮的解释主要是适用于Java的以及)。



