ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Perl 小骆驼 7章笔记 正则表达式

Perl 小骆驼 7章笔记 正则表达式

原创 Linux操作系统 作者:zhaojienju 时间:2011-03-08 22:17:41 0 删除 编辑

使用简单的模式
$_="yabba dabba doo";
if (/abba/) {
#matched
}
所有在双引号中的转义字符在模式中均有效,比如可以用/coke\tsprite/来匹配

元字符:元字符前使用反斜线将使它变成普通字符
. 匹配单个字符
3\.14159匹配3.14159

.不能匹配 \n
*表示匹配前一项0次或多次
+表示匹配前一项1次或多次
?表示匹配前一项0次或1次
.*表示匹配任意字符任意次

()表示分组,比如/(fred)*/ fred重复0次或多次,可以匹配任何字符串
| 表示或者, /fred|barney|betty/将匹配出现fred or barney or betty的字符


[]字符类,匹配列中出现的任意单个字符
[^def]匹配这三个字符之外的任意单个字符
[^n\-z]匹配出了n, -, z之外的任意字符
简写:[0-9] 是 \d
[A-Za-z0-9_] 是\w
[\f\t\n\r ] 是\s,匹配空白:格式符,制表符,换行符,回车,空格。
[^\d]非数字,即\D
[^\w]非word,即\W
[^\s]非空白,即\S
[\d\D]匹配任何字符,包括\n

 

习题:

1.2.
#!/usr/bin/perl
foreach (<>) {
  if (/(f|F)red/) {
    print "$_\n";
  }
}


3.
foreach (<>) {
  if (/\./) {
    print "$_\n";
  }
}

4.

#!/usr/bin/perl
foreach (<>) {
  if (/^([^A-Z]*[A-Z][^A-Z]*)$/) {
    print "$_";
  }
}
 

 

 

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

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

注册时间:2010-10-05

  • 博文量
    80
  • 访问量
    192599