Python标点正则表达式似乎不起作用

时间:2015-10-31 12:37:31

标签: python regex

我正在尝试使用正则表达式从文本中删除所有标点符号。问题是,标点符号正则表达式似乎没有任何效果(\p{P}\p{Punct})。

import re

hello_world = 'Hello, world!'
hello_world = re.sub('\p{Punct}', '', hello_world)
print(hello_world)

我做错了吗?以下产生了预期的效果,但我仍然不明白为什么上面的代码不起作用。

# import string

# ...

hello_world = re.sub('[{}]'.format(string.punctuation), '', hello_world)

1 个答案:

答案 0 :(得分:5)

stdlib的re模块不支持指定属性(\p{})。有regex module支持属性,它是re模块的替代品。