在 python 中寻找 unicode 范围的补充

Look for complement of unicode range in python

我有一组单词,我想找到那些包含非意大利语字符的单词。与其提供不属于意大利字母表的所有可能的 unicode 字母范围,我认为最好指定允许字母的范围,然后检查字符串是否包含不属于这些范围的任何字符。问题是,我不知道如何让 Python 的 re 模块查找这些字符,而且我找不到任何有用的东西。

这是一个例子:小写拉丁字母的范围是 u0061 - u007a,所以如果我 运行 以下内容:

print(re.search("[\u0061-\u007a]", 'hello'))

我得到了输出:<re.Match object; span=(0, 1), match='h'>,正如预期的那样。

现在让我们在输入字符串中添加一个超出范围的字符,并使其成为Àhello。我想搜索提供范围之外的字符。我尝试在范围前添加“^”字符:

print(re.search("^[\u0061-\u007a]", 'Àhello'))

但我得到 None 作为输出。我想避免按字符扫描每个字符串。可能吗?

^符号放在方括号内:

print(re.search("[^\u0061-\u007a]", 'Àhello'))