使用re.sub删除换行符

时间:2017-03-13 15:59:11

标签: python regex

为什么结果为'bc'而不是'abc'?:

>>> import re
>>> re.sub('-\n([a-z])', '','-\nabc',re.M)
'bc'

2 个答案:

答案 0 :(得分:3)

re.sub将匹配的模式替换为 replacement 字符串。此处([a-z])也匹配,因此会被删除。为避免这种情况,您可以使用前瞻语法:

import re
re.sub('-\n(?=[a-z])', '','-\nabc',re.M)
# 'abc'

答案 1 :(得分:0)

您只需指定要替换的字符串:

re.sub('-\n', '','-\nabc')

将只返回abc

enter image description here