Chinaunix首页 | 论坛 | 博客
  • 博客访问: 178674
  • 博文数量: 34
  • 博客积分: 2245
  • 博客等级: 大尉
  • 技术积分: 360
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-23 11:41
文章分类

全部博文(34)

文章存档

2011年(1)

2010年(28)

2009年(5)

分类:

2010-02-11 15:57:45

正则表达式 笔记
疑问:
模式 /(fred)*/ 能匹配 Hello,world 这样的字符串!
my $dino="I fear that I'll be extinct after 1000 years.";
if ($dino=~/(\d*) years/){
print "That said '$1' years.\n"; # $1为 1000
my $dino="I fear that I'll be extinct after a few million years.";
if ($dino=~/(\d*) years/){
print "That said '$1' years.\n"; # $1为 空字符
例子:
/(.)\g{1}111/
/[\dA-Fa-f]+/  匹配十六进制数字
=~/\byes\b/i;
捕捉: my $names ='fred or barney';
       if($names=~m//(?\w+) (and|or) (?\w+))/){
       say "I saw $+{name1} and $+{name2}";
       }

笔记:
[0-9]                                     简写成\d                反义简写为\D
[A-Za-z0-9_]                              简写成\w                反义简写为\W
匹配一个单词  \w+
\f\t\n\r   换页,制表,换行,回车,空格   简写成 \s               反义简写为\S
\s*  匹配任意数目的空白
\s+  匹配一个以上的空白字符
//是  m//的简写
可选修饰符:
/i 匹配时不区分大小写
/s 匹配时匹配任意字符(与.不同 .不匹配换行符  而/s可以用来匹配他们)
/x 匹配时加入空白
锚位
^开头$结尾
\b单词边界锚位(整词搜索模式)
绑定操作符=~拿右边的模式来匹配左边的字符串

关闭分组功能
(/?:XXXX)
阅读(1386) | 评论(0) | 转发(0) |
0

上一篇:perl运算符

下一篇:perl localtime

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