免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3215 | 回复: 3
打印 上一主题 下一主题

if语句中无法使用正则表达式的替换。。。。???? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-06-28 11:30 |只看该作者 |倒序浏览
1 #!/usr/bin/perl -w
  2 use strict;
  3 my $file = shift;
  4 my $rp;
  5 my $new;
  6 my $out;
  7 my $final;
  8 open IN, $file or die $!;
  9 while (<IN>){
10         if( $_ =~ /N|A/){ print $_;}
11         if($_ =~/abc/){
12                 $rp=$_;
13                 print "\$rp is $rp\n";
14                 $new ="change";
15                 print "\$new is $new\n";
16                 $out = "abcdefg";
17 #       no strict subs;
18                $out=~s/\Q${rp}\E/\Q${new}\E/;
19
20
21                 print "\$out is $out \n";
22         }
23 }
24 my $aaa= "abcdefg";
25 my $rrp= "abc";
26 my $neww= "xxx";
27 $aaa=~s/\Q${rrp}\E/\Q${neww}\E/g;
28 print "\$aaa is $aaa \n";
29 my $pattern="a.*.b";
30 my $str ="ca.*.bc";
31 if($str=~s/\Q${pattern}\E/sds/) {
32         print "ok\n\$str is $str\n";
33 }


##18                $out=~s/\Q${rp}\E/\Q${new}\E/; -----》 这句他没有执行。。。。肿么了。。。。????各位看看吧,谢谢!!

论坛徽章:
0
2 [报告]
发表于 2011-06-28 11:31 |只看该作者
输入文件:

$ cat n
NNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNN
NNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNAAAAA
AAAAAAA
abc
输出:

$ perl n.pl n
NNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNN
NNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNAAAAA
AAAAAAA
$rp is abc

$new is change
$out is abcdefg
$aaa is xxxdefg
ok
$str is csdsc

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
3 [报告]
发表于 2011-06-28 13:15 |只看该作者
你没发现
  1. $rp is abc

  2. $new is change
复制代码
这里多出个空行?

论坛徽章:
0
4 [报告]
发表于 2011-06-28 14:41 |只看该作者
回复 3# zhlong8


    原来如此。。。谢谢!!!原来多出“\n",所以不匹配!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP