Python 正则表达式的错误结果

Python 正则表达式的错误结果,python,python-3.x,regex,Python,Python 3.x,Regex,你知道为什么下面的正则表达式会删除句子中的“fl”部分吗 re.sub('[^a-zA-Z]', ' ', '\nFor a this river, the flow becomes complicated in the floodplain') 这是我得到的结果: 'For a this river the ow becomes complicated in the oodplain' 您正在用空格替换所有非字母字符 在您的代码中,“fl”实际上是fl——一个unicode(非AZ)字符

你知道为什么下面的正则表达式会删除句子中的“fl”部分吗

re.sub('[^a-zA-Z]', ' ', '\nFor a this river, the flow becomes complicated in the floodplain')
这是我得到的结果:

'For a this river  the  ow becomes complicated in the  oodplain'

您正在用空格替换所有非字母字符


在您的代码中,“fl”实际上是
fl
——一个unicode(非AZ)字符,因此它与标点符号一起被删除。

您将所有非字母字符替换为空白


在您的代码中,“fl”实际上是
fl
——一个unicode(非AZ)字符,因此它与标点符号一起被删除。

OK。。为什么它认为“fl”是一个单一的unicode非AZ字符,而不是“th”(在这里)呢?这个字符就是“拉丁小连字fl”。这不是
A-Za-z
中的任何字符,正如“2”或“@”都不是:OK。。为什么它认为“fl”是一个单一的unicode非AZ字符,而不是“th”(在这里)呢?这个字符就是“拉丁小连字fl”。这不是
A-Za-z
中的任何字符,正如“2”或“@”不是: