in reply to Re^2: how to replace a matched pattern in a string with a different pattern of same length?
in thread how to replace a matched pattern in a string with a different pattern of same length?

BharID:

Look for all matches, select the longest one, and then perform your replacement. Something like (untested):

my $string = '00110011111110111111111111111110'; my $str_to_replace; for ($string=~/(1+)/g) { my $temp = $1; $str_to_replace = $temp if length($tmp) > length($str_to_replace); } if ($str_to_replace) { my $repl = '2' x length($str_to_replace); $string =~ s/$str_to_replace/$repl/; }

...roboticus

When your only tool is a hammer, all problems look like your thumb.

  • Comment on Re^3: how to replace a matched pattern in a string with a different pattern of same length?
  • Download Code