Hello, I'm a bit confused by the wording at:
> digit > Define the characters to be classified as numeric digits. > > In the POSIX locale, only: > > 0 1 2 3 4 5 6 7 8 9 > > > shall be included. > > In a locale definition file, only the digits <zero>, > <one>, <two>, <three>, <four>, <five>, <six>, > <seven>, <eight>, and <nine> shall be specified, and > in contiguous ascending sequence by numerical value. > The digits <zero> to <nine> of the portable > character set are > automatically included in this class. >From my understanding of that: - in the POSIX locale, it's 0123456789 only - it is not possible with the POSIX API to create a locale with a "digit" including anything but 0123456789 - we can include all the <zero>...<nine> in a locale definition file though that's redundant as they are included anyway. - but there's nothing preventing a system locale to have a "digit" class that matches anything. A system could very well have a Venusian locale with a "digit" class that matches on abcdefgh because the Venusians have 8 fingers and that's how they count. While [A-Z] and [[:alpha:]] are pretty random in practice, I don't know of any system that has a locale where [0-9] or [[:digit:]] matches anything other than 0123456789 But is that guaranteed by the standard? Or do we need to use [0123456789] if we want to match those explicitely in a locale other than the POSIX locale? -- Stephane