基本元字符集及其含义:
^ 只匹配行首
$ 只匹配行尾
* 一个单字符后紧跟*,匹配0个或多个此单字符
[] 匹配[]内字符,可以是一个单字符,也可以是字符序列,可以使用 - 表示[]内字符序列范围
如[1-5] 代替[12345]
\ 用来屏蔽一个元字符的特殊含义。因为有时在 shell中的一些元字符有特殊含义 \可以使其失去应有的意义
[a-z A-Z] 匹配任何字母
[^a-z A-Z] 不匹配里面的任何字母
经常使用的正则表达式举例:
^ 只匹配行首
$ 只匹配行尾
* 一个单字符后紧跟*,匹配0个或多个此单字符
[] 匹配[]内字符,可以是一个单字符,也可以是字符序列,可以使用 - 表示[]内字符序列范围
如[1-5] 代替[12345]
\ 用来屏蔽一个元字符的特殊含义。因为有时在 shell中的一些元字符有特殊含义 \可以使其失去应有的意义
. 匹配任意单字符
parttern\{n\} 用来匹配前面一个字元出现次数.n为次数
parttern\{n,\}m 含义同上,但次数最少为n
parttern\{n,m\} 含义同上,但出现次数在n与m之间
parttern\{n,\}m 含义同上,但次数最少为n
parttern\{n,m\} 含义同上,但出现次数在n与m之间
特殊字符:
$ . ' " [ ] ^ | ( ) \ + ?
[a-z A-Z] 匹配任何字母
[^a-z A-Z] 不匹配里面的任何字母
经常使用的正则表达式举例:
^ 行首
$ 行尾
^[the] 以the开头行
[Ss]igna[lL] 匹配单词signal signaL Signal SignaL
[Ss]igna[lL]\. 同上 但是加一句号
[m ay MAY] 包含may大写或小写字母的行
^U SER$ 只包含U SER的行
[tty]$ 以tty结尾的行
\. 带句号的行
^d..x..x..x 对用户 用户组 其他用户成员有可执行权限的目录
^[^1] 排除行首以1开头的
[,*0] 0之前或之后加任意字符
[000*] 000或更多个
[^$] 空行
[^.*$] 匹配行中任意字符串 匹配任意行
^......$ 包含6个字符的行
[a-z A-Z] 任意单字符
[^0-9 \$] 非数字或美元标识
[^0-0 a-z A-Z] 非数字或字母
[123] 1到3中的一个数字
\^q 以^q开始行
^.$ 仅有一个字符的行
^\.[0-9][0-9] 以一个句点和2个数字开始的行
[0-9]\{2\}-[0-9]\{2\}-[0-9]\{4\} 日期格式