Python正则表达式-替换连续标点符号

Python正则表达式-替换连续标点符号,python,regex,Python,Regex,我有一堆在线评论,我想替换一些东西,比如 或和,和!,例如,分别。 我想我的问题可以归结为两个方面: 如何编译正则表达式模式来检测两个+背对背的标点符号? 在使用诸如replace之类的方法时,如何检索检测到的特定模式?这样我就可以用这个模式来代替它的连续性。 作为一个扩展,替换你可能在推文中看到的怪异标点符号怎么样,比如!!!: 任何指导都有帮助。您可以在此处使用re.sub: inp=你好,世界!!! 输出=re.subr'[!?,;]\1+',r'\1',inp printinp+\n+输

我有一堆在线评论,我想替换一些东西,比如 或和,和!,例如,分别。 我想我的问题可以归结为两个方面:

如何编译正则表达式模式来检测两个+背对背的标点符号? 在使用诸如replace之类的方法时,如何检索检测到的特定模式?这样我就可以用这个模式来代替它的连续性。 作为一个扩展,替换你可能在推文中看到的怪异标点符号怎么样,比如!!!:

任何指导都有帮助。

您可以在此处使用re.sub:

inp=你好,世界!!! 输出=re.subr'[!?,;]\1+',r'\1',inp printinp+\n+输出 这张照片是:

Hello World!!!
Hello World!

您可以根据需要扩展字符类[!?,;],以包括其他标点符号。

您尝试了什么?您可以使用来处理Python风格的正则表达式集。关于2。sub方法允许函数作为repl参数根据找到的模式选择替换。