ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 7,正则表达式(perl笔记)

7,正则表达式(perl笔记)

原创 Linux操作系统 作者:tonykorn97 时间:2007-06-22 00:00:00 0 删除 编辑
1,使用简易模式
要以某个模式(正则表达式)来匹配$_的内容,请将它放在两个斜线(/)之间,如下所示:
$_ = "yabba dabba doo";
if (/abba/) {
print "It matched! ";
}
/abba/表达式会在$_中查找由"abba"这4个字符所组成的字符串,如果找到了,它会返回“真”。

2,关于元字符
点号(.)是通配符(wildcard character),它会匹配换行符( )以外的所有单个字符。

3,简易的量词
在一个模式中重复某些字是很常见的情况。星号(*)会匹配它的前一个项目0次或多次。
.* 会匹配任意字符无限多次
+ 匹配前一个项目一次以上
? 表示前一个鲜明是可有可无的

4,模式组
小括号
/(fred)+/会匹配像fredfredfred这种字符

5,择一匹配
竖线(|)在这里通常念“或”,表示左边匹配或右边匹配。也就是说,如果竖线做半边的模式匹配失败,则竖线右边可能会匹配成功。
/fred|barney|betty/对任何提到fred,barney或betty的字符都会匹配成功。

6,字符集
字符集(character class)就是方括号(或称中括号)里一连串可能的字符。它只会批评单一字符,但是该字符可以是字符集里的任何一个。
[abcwxyz]会匹配这7个字符中的任意一个
[a-zA-Z] 匹配字母
[00-177] 匹配任何7位的ASCII字符

7,字符集简写
代表任意数字的字符集[0-9]可以被简写成d
[A-Za-z0-9_] 简写为w
s简写擅长处理空白,它相当于[f ]。也就是说,它等于是字符集,里面包含5种空白字符:换页(form-feed),制表(tab),换行(newline),回车(carriage return)以及空格(space).
例子:
/fred w+ barney/将会匹配fred,一个空格,一个单词再接一个空格与barney.

8, 反应简写的排出
有时候可能想用[^d],[^w]或[^s],来分别表示某个非数字字符,非单词字符或非空白字符。只要使用它们的大写形式-D,W或S就可以了

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/312079/viewspace-245692/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-05

  • 博文量
    1854
  • 访问量
    2088695