Regex 如何在perl中使用正则表达式转换给定数组 my@str=(“########吉姆”、“###单词”、“白痴”、“我们”、“######杰克”、“e”); @数组=(“hijim”、“dogword”、“parrot”、“iamidiot”、“aswe”、“劫持”、“ase”);

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

通过引用str数组,我需要################################转换为hi。尝试给定的解决方案

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