我正在嘗試使用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中的反向引用似乎沒有遵循它們在我使用過的所有其他實現中所遵循的相同規則。有人可以照亮嗎?
3 回答
慕桂英4014372
TA貢獻1871條經驗 獲得超13個贊
我的想法是,我將讀取一個轉義的字符串,然后對其進行轉義(Python缺少的一項功能,首先您不需要使用正則表達式)。不幸的是,我沒有被反斜杠所欺騙...
另一個說明性示例:
>>> mystring = r"This is \n ridiculous"
>>> print mystring
This is \n ridiculous
>>> p = re.compile( r"\\(\S)" )
>>> print p.sub( 'bloody', mystring )
This is bloody ridiculous
>>> print p.sub( r'\1', mystring )
This is n ridiculous
>>> print p.sub( r'\\1', mystring )
This is \1 ridiculous
>>> print p.sub( r'\\\1', mystring )
This is \n ridiculous
我想要打印的是
This is
ridiculous
添加回答
舉報
0/150
提交
取消
