grep中使用"\d"匹配数字不成功的原因解决(3)

[^xyz]

  负值字符集合,匹配未包含的任意一个字符(注意:不包括换行符),例如:'[^abc]' 可以匹配 "Lay" 中的'L'(注意:[^xyz]在awk 指令中则是匹配未包含的任意一个字符+换行符)   [^xyz]   [^xyz]   [^xyz]   [^xyz]  
[A-Za-z]   匹配大写字母或者小写字母中的任意一个字符(注意:要写成递增)   [A-Za-z]   [A-Za-z]   [A-Za-z]   [A-Za-z]  
[^A-Za-z]   匹配除了大写与小写字母之外的任意一个字符(注意:写成递增)   [^A-Za-z]   [^A-Za-z]   [^A-Za-z]   [^A-Za-z]  

\d

  匹配从 0 到 9 中的任意一个数字字符(等价于 [0-9])   不支持   不支持   \d   \d  

\D

  匹配非数字字符(等价于 [^0-9])   不支持   不支持   \D   \D  
\S   匹配任何非空白字符(等价于[^\f\n\r\t\v])   不支持   不支持   \S   \S  
\s   匹配任何空白字符,包括空格、制表符、换页符等等(等价于[ \f\n\r\t\v])   不支持   不支持   \s   \s  
\W  

匹配任何非单词字符 (等价于[^A-Za-z0-9_])

  \W   \W   \W   \W  
\w   匹配包括下划线的任何单词字符(等价于[A-Za-z0-9_])   \w   \w   \w   \w  
\B   匹配非单词边界,例如:'er\B' 能匹配 "verb" 中的'er',但不能匹配"never" 中的'er'   \B   \B   \B   \B  

\b

  匹配一个单词边界,也就是指单词和空格间的位置,例如: 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的'er'   \b   \b   \b   \b  
\t   匹配一个横向制表符(等价于 \x09和 \cI)   不支持   不支持   \t   \t  
\v   匹配一个垂直制表符(等价于 \x0b和 \cK)   不支持   不支持   \v   \v  
\n   匹配一个换行符(等价于 \x0a 和\cJ)   不支持   不支持   \n   \n  
\f   匹配一个换页符(等价于\x0c 和\cL)   不支持   不支持   \f   \f  
\r   匹配一个回车符(等价于 \x0d 和\cM)   不支持   不支持   \r   \r  
\\   匹配转义字符本身"\"   \\   \\   \\   \\  

\cx

  匹配由 x 指明的控制字符,例如:\cM匹配一个Control-M 或回车符,x 的值必须为A-Z 或 a-z 之一,否则,将 c 视为一个原义的 'c' 字符   不支持   不支持     \cx  

\xn

  匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长,例如:'\x41' 匹配 "A"。'\x041' 则等价于'\x04' & "1"。正则表达式中可以使用 ASCII 编码   不支持   不支持     \xn  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/baafb4f8858bc5b115879f3be991b468.html