perl分组捕获

问题如下 :

http://zhidao.baidu.com/question/501928970.html?push=keyword

 

解决如下:

#! /usr/bin/perl -w

use strict;
my $string = "abc r=3 def r=3 test r=3 over";
print $string,"\n";

$string =~ s/(?<=def r=)\d/5/;  #?<=  	匹配exp后面的位置
print $string,"\n";


$string = "abc r=3 def r=3 test r=3 over";  #?=  匹配exp前面的位置
$string =~ s/\d(?= def)/5/;
print $string,"\n";


$string = "abc r=3 def r=3 test r=3 over";  #?!  匹配后面跟的不是exp的位置
$string =~ s/\d(?! def)/5/;
print $string,"\n";

$string = "abc r=3 def r=3 test r=3 over";  #?<!  匹配前面不是exp的位置
$string =~ s/\d(?<! def)/5/;
print $string,"\n";

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...