Python无法识别正则表达式

时间:2016-04-06 00:24:25

标签: python regex python-3.x

我正在使用从此问题获得的解决方案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 '

但是,searchfindall,甚至match都无法识别模式,对于为什么会有任何想法?

1 个答案:

答案 0 :(得分:3)

re.sub(r'(.)\1{9,}', ' ',text)

斜杠不是正则表达式的一部分,它们是一种语法结构,通过这种结构,一些语言形成正则表达式文字(在PHP的preg模块中,这是一种奇怪的现象)。

使用正则表达式,您将匹配this is text/?????????????/,并将其转换为this is text\s(请注意,\s在替换字符串中没有任何意义。)