正则与文件处理Perl编程实战

94、使用模式测试程序,创建一个模式,用于匹配任何以字母 a 结尾的单词(这里的单词是指 \w 所定义的单词)。该模式是否能匹配 ‘wilma’ 但不匹配 ‘barney’?它是否能匹配 ‘Mrs. Wilma Flintstone’?’wilma&fred’ 呢?

可创建模式 /\w*a\b/ 进行匹配。此模式可匹配 wilma ,不匹配 barney ;能匹配 'Mrs. Wilma Flintstone' 中的 'Wilma' ;也能匹配 'wilma&fred' 中的 'wilma'

95、修改一个程序,将输入内容里每个 Fred(不区分大小写)替换为 Wilma,每个 Wilma 替换为 Fred。例如,像 fred&wilma 这样的输入在输出中应该显示为 Wilma&Fred。

#!/usr/bin/perl -w
use strict;

if (@ARGV != 1) {
    die "Usage: $0 <input_file>";
}

my $input_file = $ARGV[0];
my $output_file = $input_file . ".out";

open(my $in_fh, '<', $input_file) or die "Can't open $input_file: $!";
open(my $out_fh, '>', $output_file) or die "Can't open $output_file: $!";

while (my $line = <$in_fh>) {
    $line =~ s/(?i)fred/Wilma/g;
    $line =~ s/(?i)wilma/Fred/g;
    print $out_fh $line;
}

close($in_fh);
c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值