读书人

求一简单perl的表达示语句?解决思路

发布时间: 2012-02-06 15:52:45 作者: rapoo

求一简单perl的表达示语句?
我有一数组如
@shuju={129
130
131
132
133
281
282
283};


还有一组数据如
Fa0/23#00 16 D3 9A CE 9E#129
Fa0/3#00 1F 16 D0 3C C7#429
Fa0/8#00 26 55 B2 86 7A#281
Fa0/5#00 1A 92 CA CC 64#430
Fa0/9#00 E0 4C 36 02 BC#283

第二个#后边的数字如129,429等和上边@shuju中数据匹配,匹配相同的删除,通过perl,最后得到如下数据
Fa0/3#00 1F 16 D0 3C C7#429
Fa0/5#00 1A 92 CA CC 64#429


在线等,谢谢



[解决办法]

Perl code
#! /usr/sbin/perl -wuse strict;my @shuju = (129, 130, 131, 132, 133, 281, 282, 283);my @data = ('Fa0/23#00 16 D3 9A CE 9E#129',                             'Fa0/3#00 1F 16 D0 3C C7#429',                             'Fa0/8#00 26 55 B2 86 7A#281',                             'Fa0/5#00 1A 92 CA CC 64#430',                             'Fa0/9#00 E0 4C 36 02 BC#283');my $exp = '#.*#(?:'.join( '|', @shuju ).')$';print "exp=$exp\n";foreach my $s (@data) {        print $s,"\n" if ( $s !~ /$exp/ );}print 'Finish!'; 

读书人网 >perl python

热点推荐