следующие работы, как и ожидалось: (? Является то, что правильная терминология)Путаница избежать одиночные кавычки в одном кавычках сырым строкового литерала
>>> print re.sub('(\w)"(\W)', r"\1''\2", 'The "raw string literal" is a special case of a "string literal".')
The "raw string literal'' is a special case of a "string literal''.
Так как я хотел использовать одинарные кавычки в выражении замены, Я процитировал его, используя двойные кавычки.
Но для моего назидания я попытался использовать одинарные кавычки в выражении замены и не могут понять результаты:
>>> print re.sub('(\w)"(\W)', r'\1\'\'\2', 'The "raw string literal" is a special case of a "string literal".')
The "raw string literal\'\' is a special case of a "string literal\'\'.
не должны две формы производят точно тот же результат?
Итак, мои вопросы:
- Как избежать апостроф в одинарных кавычках сырой строки?
- Как избежать двойной кавычки в строке с двойными кавычками?
- Почему в первом параметре
re.sub()
мне не нужно было использовать необработанную строку, но во втором параметре я должен это сделать. Оба кажутся строковыми представлениями регулярных выражений для этого Python noob.
Если это имеет значение, я использую Python 2.7.5 для Mac OS X (10.9, Mavericks).