linux正则表达式,(以grep为例)

第一章 基础正则表达式
^word 匹配以word开头的内容
word$ 匹配以我word结尾的内容
^$ 表示空行
. 代表有且只代表任意一个字符
\ 转义符号,例如. 就只代表点本身,让有着特殊身份意义的字符脱掉马甲,还原原型
*号 重复0个或多个前面的字符,例o匹配没有o,有1个o或多个ooooo
. 匹配所有字符
[abc] 匹配字符集合内的任意一个字符
[^abc] 匹配不包含^后的任意一个字符的内容,中括号里的^为取反
a{n,m} 重复n到m次。前一个重复的字符。
a{n,} 重复至少n次。前一个重复的字符如果用egrep/sed -r 可以去掉斜线
a{n} 重复n次。前一个重复的字符如果用egrep/sed -r 可以去掉斜线
a{,m} 重复至多m次
第2章扩展的正则表达式
+号 表示重复“一个或一个以上”前面的字符(
是0个或多个)
? 表示重复“0个或1个前面的字符”(.是有且只有1个)
| 表示同时过滤多个字符串
() 分组过滤,后向引用
第三章 POSIX字符
正则表达式 描述 示例
[:alnum:] [a-zA-Z0-9]匹配任意一个字母或数字字符 [[:alnum:]]+
[:alpha:] 匹配任意一个字母字符(包括大小写字母) [[:alpha:]]{4}
[:blank:] 空格与制表符(横向纵向) [[:blank:]]*
[:digit:] 匹配任意一个数字字符 [[:digit:]]?
[:lower:] 匹配小写字母 [[:lower:]]{5,}
[:upper:] 匹配大写字母 ([[:upper:]]+)?
[:punct:] 匹配标点符号 [[:punct:]]
[:space:] 匹配一个包括换行符,回车等在内的所有空白符 [[:space:]]+
[:graph:] 匹配任何一个可以看得见的且可以打印的字符 [[:graph:]]
[:xdigit:] 任何一个十六进制数 [[:xdigit:]]+
[:cntrl:] 任何一个控制字符(ASCII字符集中的前32个字符) [[:cntrl:]]
[:print:] 任何一个可以打印的字符 [[:print:]]
第四章 元字符

正则表达式 描述 示例
\b 单词边界 \bcool\b匹配cool,不匹配coolant
\B 非单词边界 cool\B匹配coolant不匹配cool
\d 单个数字字符 b\db匹配b2b,不匹配bcb
\D 单个非数字字符 b\Db匹配bcb不匹配b2b
\w 单个单词字符(字母,数字与_) \w匹配1或a,不匹配&
\W 单个非单词字符 \W匹配&,不匹配1或a
\n 换行符 \n匹配一个新行
\s 单个空白字符 x\sx匹配xx,不匹配xx
\S 单个非空白字符 x\S\x匹配xkx,不匹配xx
\r 回车 \r匹配回车
\t 横向制表符 \t匹配一个横向制表符
\v 垂直制表符 \v匹配一个垂直制表符
\f 换页符 \f匹配一个换页符

猜你喜欢

转载自blog.51cto.com/14006510/2294309