我正在尝试用正则表达式将n个出现的字母替换为一个字母。应该很简单,例如I know regular expressions。 Python 2.7.15可以正常工作:
>>> re.sub('x*', 'y', 'xxxxx')
'y'
>>> re.sub('x*', 'y', 'zxxxxxz')
'yzyzy'
但是Python 3.7.2rc1给了我
>>> re.sub('x*', 'y', 'xxxxx')
'yy'
>>> re.sub('x*', 'y', 'zxxxxxz')
'yzyyzy'
使用'x+'
作为模式可以部分解决此问题,但显然不适用于长度为0的匹配项。
答案 0 :(得分:1)