排除匹配[\ W \ d] +正则表达式中的句点字符

时间:2015-09-11 11:54:17

标签: python regex

除了字母字符和句点之外,我想从字符串中删除所有字符串。 我在python中创建了以下函数。我如何扩展正则表达式,以便不从字符串中删除句点?这需要适用于unicode字符串。

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

1 个答案:

答案 0 :(得分:4)

更改语义来删除此组中的所有内容'剥离这个群体中不包含的所有内容'并使用:

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

更新

我不认为上述解决方案适用于所有unicode字母表 answers here为内置re提供支持unicode字母组的替代模块。

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

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