perl正则表达式中的 * + ? 区别

回复 收藏
?  表示匹配前面字符0次或者1次;
+ 表示匹配前面字符1次或者多次;
*  表示匹配前面字符0次,1次或者多次;
下面请看一个简单的例子:
脚本中用到的文本内容如下
cat 2.txt
abbbbc
ac
abc
abbc
tacd

perl脚本内容为:
  1. #! /usr/bin/perl
  2. open TEST,"./2.txt";
  3. while () {
  4.     if (/ab?c/) {
  5.         print;
  6.     }
  7. }
结果为:
ac
abc
tacd

perl脚本内容为:
  1. #! /usr/bin/perl
  2. open TEST,"./2.txt";
  3. while () {
  4.     if (/ab*c/) {
  5.         print;
  6.     }
  7. }
结果为:
abbbbc
ac
abc
abbc
tacd

perl脚本内容为:
  1. #! /usr/bin/perl
  2. open TEST,"./2.txt";
  3. while () {
  4.     if (/ab+c/) {
  5.         print;
  6.     }
  7. }
结果为:

abbbbc
abc
abbc
2012-11-19 11:46 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: