Chinaunix首页 | 论坛 | 博客
  • 博客访问: 836317
  • 博文数量: 253
  • 博客积分: 6891
  • 博客等级: 准将
  • 技术积分: 2502
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-03 11:01
文章分类

全部博文(253)

文章存档

2016年(4)

2013年(3)

2012年(32)

2011年(184)

2010年(30)

分类: Python/Ruby

2011-07-25 15:22:05

使用简单的模式
要匹配某个模式(正则表达式)和$_的关系,可以将模式放在正斜线(//)之间
  1. $_ = "yabba dabba doo";
  2. if(/abba/){
  3.     print "It matched\n";
  4. }
模式中的分组
括号也是元字符。在数学中,括号(())用来表示分组。例如,模式/fred+/能匹配上如fredddddddd,这样的字符串,但这种字符串在实际中没有什么用途。模式/(fred)+/能匹配上像fredfredfred 这样的字符串,这更可能是你所希望的。那么模式/(fred)*/呢?它将匹配上像hello,world 这样的字符串

选择符
竖线(|),在这种用法中通常被读作“或(or)”,意思是匹配左边的或者右边的。如果竖线左边没有匹配上,则匹配右边。因此,/fred|barney|betty/将匹配出现过fred,或者barney,或者betty 的字符串

字符类
字符类,是方括号[]中的一列字符,可以匹配上括号内出现的任意单个字符。它匹配一个字符,但这个字符可以是列中的任意一个。字符类[abcwxyz]可以匹配上括号内七个字母中的任意一个。为了方便,我们可以使用连字号(-)来表示某个范围的字母,因此上例也可以写做[a-cw-z]

字符类的简写
任何数字的类,[0-9],可以被简写为:\d
\w 被称作“word’字符:[A-Za-z0-9_] \w 不能匹配单词,而只能匹配单个字符。为了匹配整个单词,需要后接加号
你可能希望得到这三种简写形式的补集。如果那样的话,你可以使用[^\d], [^\w], 和[^\s],其含义分别是,非数字的字符,非word(记住我们对word 的定义)的字符,和非空白的字符

阅读(370) | 评论(0) | 转发(0) |
0

上一篇:hash

下一篇:使用正则表达式处理文件

给主人留下些什么吧!~~