Is my interpretation correct?
The first () matches one or more non-dot characters and the second () matches the trailing . or nothing at the end of the string.
Then you build a string that has at least two leading zeros and extract the rightmost 2 characters and tag on the trailing . or nothing.
I quite like this solution as well. Both you and
davorg have come up with good alternatives, thanks. I should think about using substr more - unfortunately it sits in my mind sharing a location with peek and poke! and so doesn't come out to play much these days.