Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29308688
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: LINUX

2010-01-12 14:37:14

Linux中常用的正则表达式

[整理人:hkebao@126.com  整理时间:2010-1-12]

元字符集的含义:

^                          只匹配行首

$                          只匹配行尾

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

[ ]                        匹配[ ] 内字符,可以是一个单字符,也可以是字符序列还可以使用

\                           用来屏闭一个元字符的特殊含义。转义操作

.                           匹配任意单字符

Pattern\{n\}        匹配前面pattern出现次数 N表示次数

Pattern\{n,\}m    含义同上,但次数最少为n

Pattern\{n,m\}    含义同上,但次数出现在nm之间

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\}    含义同上,但次数出现在nm之间

示例:

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                  对用户、用户组及其他用户组成员有可执行权限的目录

 

阅读(791) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~