[:space:]和[:blank:]之间有什么区别?

时间:2013-04-02 15:18:19

标签: regex bash grep

来自A Brief Introduction to Regular Expressions

[:blank:]匹配空格或制表符。

[:space:]匹配空格字符(空格和水平制表符)。

对我而言,这两个定义是相同的,我想知道它们是否真的重复?

如果它们不同,有什么区别?

3 个答案:

答案 0 :(得分:8)

对于GNU工具,grep.info适用以下内容:

[:blank:]

     Blank characters: space and tab.

[:space:]

     Space characters: in the 'C' locale, this is tab, newline,
     vertical tab, form feed, carriage return, and space.

您可以使用此命令找到该部分:

info grep 'Regular Expressions' 'Character Classes and Bracket Expressions'

答案 1 :(得分:4)

此处可以更好地解释每个匹配的内容

最大的区别是[:space:]也会匹配新行字符

等项目

答案 2 :(得分:0)

空格意味着按空格键和标签

白色空间表示它带有换行符,标签,换页和回车以及所有空格。