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

正则表达式:将字符周围的大括号替换为 [^ ]

正则表达式:将字符周围的大括号替换为 [^ ]

慕哥6287543 2022-08-25 16:02:32
我是Python的新手,我试图修改字符串,以便将序列{.}替换为[^.],其中点可以表示任何字符。我试着写: def preprocess_mot (motif):     motif= re.sub( '\{.*?\}',  lambda m: '[^' + m.group()+"]" ,    motif)       print(motif)但它不会删除大括号。例如preprocess_mot("asdasd{d}")给asdasd[^{d}]什么时候应该给asdasd[^d]
查看完整描述

1 回答

?
米脂

TA贡献1836条经验 获得超3个赞

我把我的评论作为答案:

使用捕获组:

motif= re.sub( '\{(.*?)\}', lambda m: '[^' + m.group(1) + "]" , motif)  
#                 ^___^                            __^


查看完整回答
反对 回复 2022-08-25
  • 1 回答
  • 0 关注
  • 79 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信