Я не понимаю, почему следующее поведение re. Любой может объяснить, как строки обрабатываются в re.sub? почему утверждение 2 не соответствует & заменить? благодаряregex match & replace for raw string
1. >>> re.sub(r'\$abc', 'ABC', r'\$abcdefg')
'\\ABCdefg'
2. >>> re.sub(r'\\$abc', 'ABC', r'\\$abcdefg')
'\\\\$abcdefg'
3. >>> r'\\$abc' in r'\\$abcdefg'
True
4. >>> re.sub(r'\\\$abc', 'ABC', r'\\\$abcdefg')
'\\\\ABCdefg'
ну, ваш 2-й оператор является рендерингом '\\\\ ABCdefg'. Каков ваш ожидаемый результат – Saleem
[Невозможно выполнить повторный показ] (http://ideone.com/Fv92cA) –
выглядит как stackoverlow - это испортить backslackes в моем сообщении. Теперь я пересмотрел его. Для утверждения 2 я не уверен, почему замена не происходит. в чем разница в обработке регулярных выражений между оператором 1/2/4? – abemaw