Я пытаюсь реализовать строковое unescaping с регулярным выражением Python и обратными ссылками, и, похоже, он не очень хорошо работает. Я уверен, что это то, что я делаю неправильно, но я не могу понять, что...
>>> import re
>>> mystring = r"This is \n a test \r"
>>> p = re.compile( "\\\\(\\S)" )
>>> p.sub( "\\1", mystring )
'This is n a test r'
>>> p.sub( "\\\\\\1", mystring )
'This is \\n a test \\r'
>>> p.sub( "\\\\1", mystring )
'This is \\1 a test \\1'
Я хотел бы заменить \\[ char] на\[char], но обратные ссылки в Python, похоже, не соответствуют тем же правилам, которые они выполняют в любой другой реализации, которую я когда-либо использовал. Может кто-то пролил свет?