我有一组单词,想要找到其中包含非意大利字母的单词。与提供不属于意大利语字母的所有可能的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
作为输出。我希望避免逐个字符地扫描每个字符串。这种情况是否可以避免?
^
用于否定匹配(表示取反),它必须出现在方括号内的第一个字符位置。而如果^
出现在字符集外面,则完全不相关,它意味着将匹配锚定到字符串开头。 - jasonharper