On 27/06/06, Ben Nagy <ben / iagu.net> wrote:
> I was messing with:
>
> str.scan(/(..)(.*)/).first.map {|e| e.length>4?e.scan(/.{1,4}/):e}.join('-')
>
> which is awful, then I got:
>
> str.sub(/\d{2}/,'\0-').gsub(/\d{4}(?!$)/,'\0-')
>
> Which is... probably even worse. :P

str.gsub(/(?:^\d{2}|\d{4}(?=.))/, '\0-')

Paul