【发布时间】:2021-03-16 02:23:14
【问题描述】:
我需要在某个字符串上替换两个或多个重复的标点符号。
"asdasdasd - adasdasd asda ------- asda wadsda +-----+ wwww qqqqqq aaaaa"
到
"asdasdasd - adasdasd asda - asda wadsda +- + wwww qqqqqq aaaaa"
我使用 regex101 应用创建了这个:
https://regex101.com/r/vdR5T1/1/
但是当我尝试使用 python 时:
import re
texto = "asdasdasd - adasdasd asda ------- asda wadsda +-----+ wwww qqqqqq aaaaa"
rx = re.compile(r'([[:punct:]])\1{2,}')
texto = rx.sub(' ', texto)
print(texto)
我遇到了这个错误:
FutureWarning: Possible nested set at position 2
rx = re.compile(r'([[:punct:]])\1{2,}')
如何使用 python 运行这个(或类似的)正则表达式?
【问题讨论】:
-
re无法识别 POSIX 括号表达式。你可以使用regex 模块。