Вот код, я бегу:Python - Странное поведение в re.sub
import re
FIND_TERM = r'C:\\Program Files\\Microsoft SQL Server\\90\\DTS\\Binn\\DTExec\.exe'
rfind_term = re.compile(FIND_TERM,re.I)
REPLACE_TERM = 'C:\\Program Files\\Microsoft SQL Server\\100\\DTS\\Binn\\DTExec.exe'
test = r'something C:\Program Files\Microsoft SQL Server\90\DTS\Binn\DTExec.exe something'
print rfind_term.sub(REPLACE_TERM,test)
И результат я получаю:
something C:\Program Files\Microsoft SQL [email protected]\DTS\Binn\DTExec.exe something
Почему есть знак @?
Но я уже избегаю обратной косой черты. Зачем мне нужно бежать дважды? – Greg
Вы избегаете обратной косой черты для Python. Вам все равно нужно сбежать от него для механизма 're', чтобы он не считался обратной или восьмеричной escape-последовательностью. –