【发布时间】:2019-03-05 07:09:01
【问题描述】:
我目前正在用 python 编写一个程序,我必须找出像 :)、:(、:-)、:-( 这样的笑脸,如果后面跟着特殊字符,则应该替换它,标点符号应该替换为这种模式:
例如:Hi, this is good :)# 应替换为 Hi, this is good :)。
我已经为 sub 它创建了正则表达式模式,但无法将这个笑脸 :-) 包含在我的 re.compile 中。它正在考虑将其作为一个范围。
re.sub(r"[^a-zA-Z0-9:):D)]+", " " , words) 这工作正常
我需要在正则表达式中添加:-)smiley。
【问题讨论】:
-
请check my answer,提供演示和解释。请注意,您的模式的主要问题是它包含一个字符类,您在其中添加了要匹配的 a sequence of patterns,但它不是那样工作的。您需要在这里进行分组。
-
这不是对我的答案的无耻宣传,但您也可以查看我的答案,看看它是否适合您。
-
@WiktorStribiżew 它完美运行!但是 python 2 中的相同正则表达式模式会引发错误。