正则表达式元字符
字符 | 定义 | 列举 |
---|
^ | 行首定位符 | ^love :以love开始的行 | $ | 行尾定位符 | love$ :以love结尾的行 | . | 匹配单个字符 | l…e | * | 匹配前导符 0~多次 | ab*love | .* | 任意字符出现 0~多次 | | [] | 匹配指定范围内的一个字符 | [Ll]ove | [ - ] | 匹配指定范围内的一个字符 | [0-9a-z]ove | [^ ] | 匹配不再指定组内的字符 | [^0-9]ove | \ | 转义 | love\. | \< | 词首定位符 | \<love :love 开始的词 ; grep “^\<root\>” /etc/passwd 表示查找以root单词行首的行 | \> | 词尾定位符 | love\> :love结尾的词 | \(…\) | 匹配稍后使用的字符的标签 | vim中使用 :% s/172.16.130.1/172.16.130.5/ :% s/\(172.16.130\).1/\15/ | x\{m\} | 字符x重复出现m次 | o\{5\} | x\{m,\} | 字符x重复出现m次以上 | o\{5,\} | x\{m,n\} | 字符x重复出现m次到n次 | o\{5,n\} |
部分命令解释
172.16.130.1
172.16.130.2
:% s/172.16.130.1/172.16.130.3/
:% s/\(172.16.130\).3/\1.1/
扩展正则表达式元字符
- egrep支持扩展元字符,grep 不直接支持扩展元字符 可用grep -e
字符 | 定义 | 列举 |
---|
+ | 匹配一个或多个前导字符 | [a-z]+ove | ? | 匹配0个或者一个前导字符 | lo?ve | a|b | 匹配a或b | love|hate | () | 组字符 | loveable|rs love(able|rs)ov+ ov+ (ov)+ | (…)(…)\1\2 | 标签匹配字符 | (love)able\1er | x{m} | 字符x重复m次 | | x{m,} | | | x{m,n} | | |
例子
[root@node-1 mytemp]
tcp LISTEN 0 128 :::5888 :::*
[root@node-1 mytemp]
tcp LISTEN 0 128 :::5888
eg:vim中
/love/ 匹配love
/^love/ 匹配以love开始的行
/love$/ 匹配以love结束的行
/l.ve/ 匹配 l[任意一个字符]ve
/.*/ 匹配任意一行
/^$/ 匹配空行
/^[ \t]*$/ 匹配0个或者多个空格或者tab
|