Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: Consolidate ranges (quick and dirty with a cool regexp)

by tybalt89 (Monsignor)
on Oct 30, 2024 at 03:49 UTC ( [id://11162494]=note: print w/replies, xml ) Need Help??


in reply to Consolidate ranges (quick and dirty with a cool regexp)

Since you're just doing it for fun, here's an alternate way. Just change comma to dashes where needed and clean up the runs later :)

#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11162490 use warnings; for ( split /^/, <<END ) Attacca Quartet:1,2,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20,22,23 +,24,25,26,27,28 John Patitucci:1,2,3,5,8,11,12,13,14,15,16,17,19,25,26,27,28 Roomful of Teeth:1,3,5,7,9,12,14,16,19,21,24,26,28 S&#333; Percussion:1,3,4,5,6,7,8,11,12,13,14,15,16,18,19,21,22,23,24,2 +5,26,27,28 Has Dashes:1,3-6,7-9,11,13-20,21,22-25,30,33-34,351,520 END { print "\n$_"; print s/\b(\d+)\K,(?=(??{$1+1})\b)/-/gr =~ s/-[\d-]*-/-/gr; }

Outputs:

Attacca Quartet:1,2,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20,22,23 +,24,25,26,27,28 Attacca Quartet:1-8,10-20,22-28 John Patitucci:1,2,3,5,8,11,12,13,14,15,16,17,19,25,26,27,28 John Patitucci:1-3,5,8,11-17,19,25-28 Roomful of Teeth:1,3,5,7,9,12,14,16,19,21,24,26,28 Roomful of Teeth:1,3,5,7,9,12,14,16,19,21,24,26,28 S&#333; Percussion:1,3,4,5,6,7,8,11,12,13,14,15,16,18,19,21,22,23,24,2 +5,26,27,28 S&#333; Percussion:1,3-8,11-16,18-19,21-28 Has Dashes:1,3-6,7-9,11,13-20,21,22-25,30,33-34,351,520 Has Dashes:1,3-9,11,13-25,30,33-34,351,520

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11162494]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (2)
As of 2026-05-10 22:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.