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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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:]]
第四章 元字符

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

以上是关于linux正则表达式,(以grep为例)的主要内容,如果未能解决你的问题,请参考以下文章

linux grep 正则表达式

linux grep 正则表达式

Linux grep、egrep使用命令详解

Linux正则表达式

正则表达式:数字开头中间字母结尾数字

Linux正则表达式及grep命令