匹配除了单词,数字和空格之外的所有内容

时间:2011-09-04 17:01:53

标签: regex python-3.x

此代码将替换除单词之外的所有内容,但如何使其仍然保持数字和空格不变?例如“我直到1才见到他。” - > “我直到1才看到他”

text = regex.sub("\P{alpha}+","",text)

2 个答案:

答案 0 :(得分:1)

Python正则表达式不支持Unicode属性。你可以尝试:

text = re.sub("[^a-zA-Z0-9 ]+","",text)

相反。如果您确实安装了Ponyguruma之类的内容,则可以使用:

text = re.sub("[\P{Alnum}\PZ]+","",text) # pZ is shorthand for p{Separator}

答案 1 :(得分:1)

不要在Unicode上使用Python的re库。它工作得非常糟糕。请改用Matthew Barnett’s regex library。它工作得更好,更好。

它既可以在Python 2和3上运行,也可以在窄版本和宽版本上运行,但由于与特定库无关的原因,我强烈建议您只运行大量的Python 3并避开所有其他组合。