[[:blank:]] 和 [[:space:]] 之间的 Posix 字符集区别?

14w*_*wml 9 sed posix regular-expression whitespace

这个网站上它说:

[[:blank:]]     space and tab characters
[[:space:]]     whitespace characters
Run Code Online (Sandbox Code Playgroud)

空格和制表符与空白字符有什么区别?在我看来,它们几乎是一样的。

Kus*_*nda 15

[[:space:]]类是超集的[[:blank:]],其额外(除了空间和的选项卡[[:blank:]])包括

  • 换行符 ( \n, Unix 上的换行符, ASCII 码 10),
  • 垂直制表符 ( \v, ASCII 码 11),
  • 换页 ( \f, ASCII 码 12), 和
  • 回车 ( \r, ASCII 码 13)。

...在 POSIX 语言环境中,即。其他语言环境可能有额外的空格字符。

  • 除了 _space_ 字符外,POSIX 语言环境中的“[[:space:]]”字符都是控制字符,因此行为会根据它们发送到的设备而有所不同。CR 将光标/回车移动回屏幕/页面的开头,因此它本身并不是真正的垂直间距字符,但它是发送到 ttys 进行换行的 CRLF 序列的一部分,因此可以看到作为垂直间距。 (2认同)
  • 请注意,POSIX 要求 `[[:space:]]` 是 `[[:blank:]]` 的超集(在任何语言环境中)。http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html (2认同)