【发布时间】:2018-07-27 20:05:54
【问题描述】:
我有一套
set1={'*klj?', 'bl:VOLTe?', 'abkjld:Sure:STe?', 'JKLJS?', 'TRered[:AMide]?', 'DKJ[:dkja]?'}
我想让套装看起来像
set1={'*klj?', 'bl:VOLTe?', 'abkjld:Sure:STe?', 'JKLJS?', 'TRered?','DKJ?'}
我想去掉集合内的[:AMide] 和[:dkja]。
我正在尝试使用正则表达式
到目前为止我所拥有的是
set2={}
for element in set:
x=re.sub("([\(\[]).*?([\)\]])", "", str(element))
set2.add(x)
这摆脱了 [] 和里面的东西,但没有正确地重新创建集合,即 set2.add(x) 不起作用
【问题讨论】:
-
这似乎是一个非常简单的
re.sub()。你有什么问题? -
替换为空字符串,替换
"\g<1>\g<2>"为"" -
嗨@wiktor Stribizew,谢谢!我将编辑上面包含您的评论的问题
-
不需要,我宁愿删除这个问题。您应该只使用regex101.com 来查看正则表达式的作用,并阅读有关
re.sub的re文档,尤其是反向引用。 -
我的问题的主要焦点不是理解那条线,而是问题的一部分。
标签: python regex python-3.x