Python 排除与[\W\d]+;正则表达式

Python 排除与[\W\d]+;正则表达式,python,regex,Python,Regex,我想删除字符串中除字母字符和句点以外的所有字符。 我用python编写了下面的函数。如何扩展正则表达式,使句点不会从字符串中剥离?这需要用于unicode字符串 def normalize(self, text): text = re.sub(ur"(?u)[\W\d]+", ' ', text) print text return text 将语义从“删除此组中的所有内容”更改为“删除不在此组中的所有内容”,并使用: text = re.sub(ur"(?u)[^a-

我想删除字符串中除字母字符和句点以外的所有字符。 我用python编写了下面的函数。如何扩展正则表达式,使句点不会从字符串中剥离?这需要用于unicode字符串

def normalize(self, text):
    text = re.sub(ur"(?u)[\W\d]+", ' ', text)
    print text
    return text

将语义从“删除此组中的所有内容”更改为“删除不在此组中的所有内容”,并使用:

text = re.sub(ur"(?u)[^a-zA-Z\.]+", ' ', text)
更新

我不认为上述解决方案适用于所有unicode字母表。
除了支持unicode字母组的内置
re
之外,还提供了其他模块

另一种选择是结合两种方法:

>>> text = '1234abcd.à!@#$'
>>> re.sub(ur'(?u)([^\w\.]|\d)+',' ',text)
' abcd.\xc3 '

将语义从“删除此组中的所有内容”更改为“删除不在此组中的所有内容”,并使用:

text = re.sub(ur"(?u)[^a-zA-Z\.]+", ' ', text)
更新

我不认为上述解决方案适用于所有unicode字母表。
除了支持unicode字母组的内置
re
之外,还提供了其他模块

另一种选择是结合两种方法:

>>> text = '1234abcd.à!@#$'
>>> re.sub(ur'(?u)([^\w\.]|\d)+',' ',text)
' abcd.\xc3 '

尝试
text=re.sub(ur)(?:(?!\)[\W\d])+,'',text)
(?u)
做什么?尝试
text=re.sub(ur)(?:(?!\)[\W\d])+,'',text)
(?u)
做什么?编辑。同样,它不会做op期望的事情。最后查看加号。将正则表达式更改为
[^a-zA-Z\.]+
([^\w\.]|\d)+不起作用。它不会去掉数字。@Jabb对我来说是这样的,请参阅添加的输入/输出示例。同样,它不会做op期望的事情。最后查看加号。将正则表达式更改为
[^a-zA-Z\.]+
([^\w\.]|\d)+不起作用。它不会去掉数字。@Jabb对我来说是这样的,请参阅添加的输入/输出示例