这里没有软件测试的泛泛理论,只有博主的最佳实践。 博主的研究方向为静态分析和性能测试,致力于各种测试工具的引入、评估和开发。 本博的测试文章均为作者原创,转载请务必注明出处。

小骆驼书作业七:正则表达式

上一篇 / 下一篇  2008-07-08 11:04:19 / 个人分类:Perl

本章相当于正则表达式的Getting Started,所以比较基础,没什么特别难的地方,所需要的便是练习练习再练习,唯有熟才能生巧。

#!/usr/bin/perl -w
my $lines = 1;
while(<>)
{
 chomp;
#if(/fred)       它匹配的是fred 第一题
#if(/fred|Fred/) 它匹配的是fred和Fred 第二题
#if(/[fF]red/)   第二题,匹配fred和Fred
#if(/\./)        第三题,匹配的是.

if(/[A-Z][a-z]/)  #匹配的是一个大写字母后跟小写字母 第四题
#if(/fred.*wilma|wilma.*fred/) 第五题,匹配的是同时出现wilma和fred的每一行
{
  print "$lines: $_\n";
 }
 $lines++;
}

复习笔记

×最简单的模式 /abc/ 匹配abc单词,这里区分大小写,所以Abc不符合这个模式

×.是通配符,会匹配除换行符\n之外的所有单个字符,个人感觉类似于DOS中的?

×*匹配它的前一个项目0次或多次。.*会匹配任意字符无限多次,即随便什么东西,如上面例子中第5题

×?表示前一个项目是可有可无的

×|表示“或”,如第二题

×[]表示字符集,如第二题和第四题

×^用来排除字符集,如[^def]会匹配这3个字符之外的任何字符,【^n\-z]会匹配"n-z"之外的任何字符。

×+匹配前一个项目一次以上。

×某些字符集十分常用,因此还可以简写。如任意数字的字符集[0-9]可以被简写为\d,\w表示[A-Za-z0-9_]

×\D表示[^\d],大写所匹配的字符就是相应的小写形式所不匹配的字符。

×孰能生巧,唯有多用,才能灵活掌握!


TAG: Perl

 

评分:0

我来说两句

Open Toolbar