大佬教程收集整理的这篇文章主要介绍了未公开的Java正则表达式字符类:\ p {C},大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
隐藏在Unicode支持下的Pattern文档中,我们发现以下内容:
从Unicode技术标准#18中,我们发现已将C
其定义为与任何其他General_category值匹配,并且对此值的支持是对1级一致性的要求的一部分。Java\p{C}
之所以实现,是因为它声称符合UTS#18的级别1。
它可能 应该 支持\p{Other}
,但显然不支持。
更糟糕的是,这违反了1级一致性所要求的RL1.7,这要求匹配是通过代码点而不是代码单元进行的:
不应该有任何的比赛\p{C}
在您的测试字符串,因为您的测试字符串应与General_category
=所以,(其它符号)一个表情符码点进行匹配,而不是作为两个代理人。
我在Java项目中发现了一个有趣的正则表达式: "[\\p{C}&&\\S]"
我知道方法的&&
意思是“设置交集”,并且\S
是“非空白”,但是 什么是\p{C}
,可以使用吗?
该java.util.regex.Pattern中的文件没有提到它。列表上唯一类似的类是\p{Cntrl}
,但是它们的行为有所不同:它们都在控制字符上\p{C}
匹配,但在U
+ FFFF以上的Unicode字符上匹配 两次 ,例如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 `
以上是大佬教程为你收集整理的未公开的Java正则表达式字符类:\ p {C}全部内容,希望文章能够帮你解决未公开的Java正则表达式字符类:\ p {C}所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。