in reply to Regexp substitution on variable-length ranges with embedded code?
#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11133054 use warnings; $_ = '43:1:1; 43:1:2; 43:1:3; 43:1:4; 43:1:5; 43:1:6; 27:3:7; 27:3:8; +27:3:9; 65:1:4; 65:1:18'; print "$_\n"; s/\b(\d+:\d+:)(\d+)\K(; \1((??{$+ + 1}))\b)+/-$+/g; print "$_\n";
Outputs:
43:1:1; 43:1:2; 43:1:3; 43:1:4; 43:1:5; 43:1:6; 27:3:7; 27:3:8; 27:3:9 +; 65:1:4; 65:1:18 43:1:1-6; 27:3:7-9; 65:1:4; 65:1:18
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Regexp substitution on variable-length ranges with embedded code?
by Polyglot (Chaplain) on May 26, 2021 at 20:25 UTC | |
by tybalt89 (Monsignor) on May 26, 2021 at 21:25 UTC | |
by The Perlman (Scribe) on May 27, 2021 at 11:27 UTC |
In Section
Seekers of Perl Wisdom