Hi Bruno,

Bruno Haible <br...@clisp.org> writes:
> But that's not the same thing: The previous code made sure that
> module names with non-ASCII characters use the MD5 hash code.
> The new code does not:
>
>>>> re.match(re.compile(r'^[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*$'),'abcäöü')
>
>>>> re.match(re.compile(r'^\w*$'),'abcäöü')
> <re.Match object; span=(0, 6), match='abcäöü'>
>
> If someone ever uses module names with non-ASCII characters, we do
> *not* want to pass these characters into shell variable names.

Oops, yes good point. I overlooked that. It looks like re.ASCII should
do the job [1].

In the documentation for \w it states [2]:

    Matches [a-zA-Z0-9_] if the ASCII flag is used.

Collin

[1] https://docs.python.org/3/library/re.html#re.ASCII
[2] https://docs.python.org/3/library/re.html#regular-expression-syntax

Reply via email to