当前位置: 首页 > 面试题库 >

“ \ n”是垂直空格吗,即“ \ v”是否应该匹配?

甘骞尧
2023-03-14
问题内容

从逻辑上讲是这样(但是只要字符编码或语言环境在起作用,逻辑就无关紧要了)。根据

perl -e 'print "\n" =~ /\v/ ? "y\n" : "n\n";'

打印“ y”,是的。根据

Pattern.compile("\\v").matcher("\n").matches();

false用java
返回,不是。如果没有这个帖子声称这一点,这根本不会让我感到困惑

Sun为JDK7更新的Pattern类具有一个奇妙的新标志UNICODE_CHARACTER_CLASS,它使所有功能再次正常运行。

但是我正在使用Java版本“ 1.7.0_07”,并且该标志存在并且似乎什么都没有改变。而且,“ \
n”对Unicode来说不是新来的,而是一个普通的旧ASCII字符,因此我真的不知道这种差异是如何发生的。可能我正在做一些愚蠢的事情,但我看不到它。


问题答案:

Java
7的Javadocjava.util.regex.Pattern
\v在其“该类不支持的Perl构造列表”中明确提及。因此,它\n不属于Java的“垂直空白”类别;它是Java
7的不 具备 “垂直空白”的范畴。取而代之的是,Java 7正则表达式具有未记录的功能,因此它们解释\v为是指垂直制表符U +
000B。(这是C / C ++
/ Bash / etc。的传统转义序列,尽管Java字符串文字 支持它。与\aalert / bell和\cXcontrol-
character 类似X。)

编辑添加: 在Java的较新版本中,此更改。根据Java 8 的Javadoc
forjava.util.regex.Pattern\v现在表示“垂直空格字符:[\n\x0B\f\r\x85\u2028\u2029]”。



 类似资料:
  • 函数接口的定义是“函数接口是一个只有一个抽象方法(除了对象的方法)的接口,因此表示一个单一的函数契约。” 根据这个定义,肯定是一个功能接口。 lambda表达式的定义是“lambda表达式就像一个方法:它提供了一个形式参数列表和一个体--一个表达式或块--用这些参数表示。” 对lambda表达式的求值会生成函数接口的实例。 的文档以“此接口对实现它的每个类的对象施加总排序。此排序被称为类的自然排序

  • 在数千项从字符串转换为int的循环中,在调用Integer之前应该检查字符串是否为空。parseInt或应直接依赖NumberFormatException移动到下一个?

  • 问题内容: 我经常看到XML和HTML标记的斜杠前有一个空格。XHTML换行符可能是典型的示例: 代替: 这个空间似乎是多余的。实际上,我认为这是多余的。 写这个空间的原因是什么? 我读过,该空间解决了一些“向后兼容性问题”。哪些向后兼容性问题?这些问题是否仍然相关,还是为了例如IE3兼容性而增加额外的空间?是否存在一些对此有明确答案的规范? 如果不是向后兼容,那么这是可读性问题吗?与“大张开大括

  • 问题内容: 这是第 5章破解编码面试中的问题9.4 问题: 编写一种方法以返回集合的所有子集。 这是我用Java编写的解决方案(经过测试,它可以正常工作!!!) 我看了这个问题的解决方案,作者说该算法的解决方案以 _O(2 n)_时间复杂度和 _O(2 n)_空间复杂度运行。我同意她的观点,该算法运行时间为 _O(2 n),_因为要解决此问题,您必须考虑以下事实:对于任何元素,您都有两种可能性,它

  • 问题内容: 可以在太长的句子中添加省略号 这对宽度非常有用,但是否也可以垂直添加省略号呢?那似乎不起作用 有人知道吗,谢谢。 问题答案: 当前,没有跨浏览器的仅CSS方式可以实现这种行为。 您现在只能通过使用和在基于Webkit的浏览器中执行此操作

  • AccessibilityService在系统的内存管理方面与普通服务有何不同? 我想问的是:系统可以为了节省内存而关闭AccessibilityService吗?如果可以,当您进入AccessibilityService时,您会看到它打开还是关闭?用户是否必须再次手动打开? 使用startForeground是否有助于使AccessibilityService保持活动状态? 在一个类似的问题中,