从逻辑上讲,它是(但无论何时使用字符编码或语言环境,逻辑都无关紧要)。根据
perl -e 'print "\n" =~ /\v/ ? "y\n" : "n\n";'
打印“y”,它是。根据
Pattern.compile("\\v").matcher("\n").matches();
在java中返回false
,它不是。如果没有这个帖子声称,这根本不会让我感到困惑
Sun 为 JDK7 更新的 Pattern 类有一个了不起的新标志 UNICODE_CHARACTER_CLASS,它可以让一切再次正常工作。
但是我使用的是 java 版本“1.7.0_07”并且该标志存在并且似乎没有任何改变。此外,“\n”不是 Unicode 的新手,而是一个普通的旧 ASCII 字符,所以我真的不明白这种差异是如何发生的。可能我在做一些愚蠢的事情,但我看不到它。