全部博文(2065)
分类: LINUX
2010-01-12 14:37:14
Linux中常用的正则表达式
[整理人:hkebao@126.com 整理时间:
元字符集的含义:
^ 只匹配行首
$ 只匹配行尾
* 一个单字符后紧跟* 匹配0或多个此单字符
[ ] 匹配[ ] 内字符,可以是一个单字符,也可以是字符序列还可以使用 – 号
\ 用来屏闭一个元字符的特殊含义。转义操作
. 匹配任意单字符
Pattern\{n\} 匹配前面pattern出现次数 。N表示次数
Pattern\{n,\}m 含义同上,但次数最少为n
Pattern\{n,m\} 含义同上,但次数出现在n与m之间
7.1 使用句点匹配单字符
示例:匹配以beg开头中间任意一个字符然后跟着
n 可以这样写:beg.n
7.2 ^ 表示匹配以什么字符开头的字符序列
^001 表示匹配以001开头的字符序列
7.3 $匹配以指定的字符作行尾的字符序列
示例:假定要匹配以trouble 结尾的所有行操作为:
Trouble$
7.4 *表示单个字符或重复序列
(即表示一到多个)
7.5 使用[] 表示一个范围的查询
还可以加上- 表示一个字符串范围的。
如果要匹配任意一个数字可以用:[0 12 3456789]也可用[0-9]
7.6 使用\{\} 匹配模式结果出现的次数
如果要指定次数就需要用到这个了。
Pattern\{n\} 匹配前面pattern出现次数 。N表示次数
Pattern\{n,\}m 含义同上,但次数最少为n
Pattern\{n,m\} 含义同上,但次数出现在n与m之间
示例:
A\{2\B} 表示A出现了两次 即AAB
A\{4,\}B 表示A至少要匹配四次 即 AAAAB 或AAAAAAAB等
7.7 经常使用的正则表达式举例
^ 行首
$ 行尾
^[the] 以the 开头行
[Ss]igna[lL] 匹配单词signal signal
Signal SignaL
[may MAY] 包含may大写或小写字母的行
^USER$ 只包含USER的行
[tty]$ 以tty结尾的行
\. 带句点的行
^d..X..X..X 对用户、用户组及其他用户组成员有可执行权限的目录