Shell 正则表达式总结及其含义举例


基本元字符集及其含义:

^ 

只匹配行首

$  

只匹配行尾

*  

只一个单字符后紧跟*,匹配0个或多个此单字符

[ ]  

只匹配[ ]内字符。可以是一个单字符,也可以是字符序列。可以使用 - 表示[ ]内字符序列范围,如用[1-5]代替[12345]

\  

只用来屏蔽一个元字符的特殊含义。因为有时在s h e l l中一些元字符有特殊含义。\可以使其失去应有意义

.

只匹配任意单字符

pattern\{n\}

只用来匹配前面pattern出现次数。n为次数

pattern\{n,\}m

含义同上,但次数最少为n

pattern\{n,m\}

含义同上,但pattern出现次数在nm之间

常用举例:

^

行首

$

行尾

^[the]

the开头行

[Ss]igna[lL]

匹配单词signalsignaLSignalSignaL

[Ss]igna[lL]\.

同上,但加一句点

[mayMAY]

包含may大写或小写字母的行

^USER$

只包含USER的行

[tty]$

tty结尾的行

\.

带句点的行

^d..x..x..x

用户、用户组及其他用户组成员有可执行权限的目录

^[^l]

排除关联目录的目录列表

[.*0]

0之前或之后加任意字符

[000*]

000或更多个

[iI]

大写或小写I

[iI][nN]

大写或小写in

[^$]

空行

[^.*$]

匹配行中任意字符串

^......$

包括6个字符的行

[a-zA-Z]

任意单字符

[a-z][a-z]*

至少一个小写字母

[^0-9\$]

非数字或美元标识

[^0-0A-Za-z]

非数字或字母

[123]

13中一个数字

[Dd]evice

单词deviceDevice

De..ce

前两个字母为De,后跟两个任意字符,最后为ce

\^q

^q开始行

^.$

仅有一个字符的行

^\.[0-9][0-9]

以一个句点和两个数字开始的行

'"Device"'

单词device

De[Vv]ice\.

单词Devicedevice

[0-9]\{2\}-[0-9]\{2\}-[0-9]\{4\}

日期格式dd-mm-yyyy

[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}

IP地址格式nnn.nnn.nnn.nnn

[^.*$]

匹配任意行

相关内容