为了账号安全,请及时绑定邮箱和手机立即绑定

Python正则表达式实现字符串转义

Python正则表达式实现字符串转义

扬帆大鱼 2021-03-14 09:20:23
我正在尝试使用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


查看完整回答
反对 回复 2021-03-22
  • 3 回答
  • 0 关注
  • 215 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号