Regex 如何在perl中使用正则表达式转换给定数组 my@str=(“########吉姆”、“###单词”、“白痴”、“我们”、“######杰克”、“e”); @数组=(“hijim”、“dogword”、“parrot”、“iamidiot”、“aswe”、“劫持”、“ase”);
通过引用str数组,我需要################################转换为hi。尝试给定的解决方案Regex 如何在perl中使用正则表达式转换给定数组 my@str=(“########吉姆”、“###单词”、“白痴”、“我们”、“######杰克”、“e”); @数组=(“hijim”、“dogword”、“parrot”、“iamidiot”、“aswe”、“劫持”、“ase”);,regex,perl,Regex,Perl,通过引用str数组,我需要################################转换为hi。尝试给定的解决方案 my @str = ("###jim","##word","<>","####idiot","#we","###jack","#e"); @array = ("hijim","dogword","parrot","iamidiot","aswe","hijack","ase"); s/(?|)(#+)|())/$decode{$1}/x for my@arra
my @str = ("###jim","##word","<>","####idiot","#we","###jack","#e");
@array = ("hijim","dogword","parrot","iamidiot","aswe","hijack","ase");
s/(?|)(#+)|())/$decode{$1}/x for my@array=@str代码>我需要给hi dog parrot的地方我会把它们放入%decode
散列中。你能把程序发给我吗;努力一点,不要期望一切都能为你服务。
#!/usr/bin/perl
use strict;
my @str = ("###jim","##word","<>","####idiot","#we","###jack","#e");
my @arr = ();
@arr = @str;
print "\@arr = @arr \n\n"; #original array
for(my $i=0;$i<$#str+1;$i++)
{
$str[$i] =~ s/^####/iam/ if($str[$i] =~ /^####/);
$str[$i] =~ s/^###/hi/ if($str[$i] =~ /^###/);
$str[$i] =~ s/^##/dog/ if($str[$i] =~ /^##/);
$str[$i] =~ s/^#/we/ if($str[$i] =~ /^#/);
$str[$i] =~ s/^<>$/parrot/ if($str[$i] =~ /^<>$/);
}
print "\@str = @str\n\n"; #array after substitution
@arr = ###jim ##word <> ####idiot #we ###jack #e
@str = hijim dogword parrot iamidiot wewe hijack wee