Warum ist das 'bc' Ergebnis und nicht 'abc' ?:Entfernen Newline mit re.sub
>>> import re
>>> re.sub('-\n([a-z])', '','-\nabc',re.M)
'bc'
Warum ist das 'bc' Ergebnis und nicht 'abc' ?:Entfernen Newline mit re.sub
>>> import re
>>> re.sub('-\n([a-z])', '','-\nabc',re.M)
'bc'
re.sub ersetzen abgestimmte Muster mit Ersatz String. ([a-z])
hier ist auch abgestimmt, so dass es entfernt wird. Um dies zu vermeiden, können Sie sich verwenden voraus Syntax:
import re
re.sub('-\n(?=[a-z])', '','-\nabc',re.M)
# 'abc'
weil '[az]' nur 1 Zeichen benötigt – ryugie
Capturing ist nutzlos, wenn Sie keinen Bezug auf das Capture in der Ersetzungszeichenfolge setzen: 'r '\ 1'' –