我正在使用从此问题获得的解决方案Regular expression to match any character being repeated more than 10 times
你需要的正则表达式是/(。)\ 1 {9,} /。
https://regex101.com/正在识别它,grep
识别它,但python没有。
最终我想用一个空格替换匹配,例如:
>> text = 'this is text???????????????'
>> pattern = re.compile(r'/(.)\1{5,}/')
>> re.sub(pattern,'\s',text)
'this is text '
但是,search
,findall
,甚至match
都无法识别模式,对于为什么会有任何想法?
答案 0 :(得分:3)
re.sub(r'(.)\1{9,}', ' ',text)
斜杠不是正则表达式的一部分,它们是一种语法结构,通过这种结构,一些语言形成正则表达式文字(在PHP的preg模块中,这是一种奇怪的现象)。
使用正则表达式,您将匹配this is text/?????????????/
,并将其转换为this is text\s
(请注意,\s
在替换字符串中没有任何意义。)