2016-03-28 12 views

cevap

0

Daha sonra Küme ayraçları içine çizgileri kaldırmak olmayan açgözlü maçı ile normal ifadeler kullanabilirsiniz, bir liste halinde desenleri koyabilirsiniz:

my @patterns = qw/ 
    pattern1 
    pattern2 
    pattern3 
/; 

foreach my $pattern (@patterns) 
{ 
    $file_contents =~ s/^$pattern \{.*?\}/$pattern {\n}/ms; 
} 
0
my @keywords = qw(pattern1 pattern2 pattern3); 

my $keywords_pat = "(?:\b(?:" . join("|", map quotemeta, @keywords) . ")\b)"; 

s/ $keywords_pat \s* \{ [^{}]* (?= \})//xg; 

veya

s/ $keywords_pat \s* \{ \K ([^{}]* (?: \{ (?1) \} [^{}]*)*) (?= \})//xg; 

İkinci sürüm, {...}'u iç içe geçirir.