python使用正则表达式去掉字符串中大括号之间的字符

我的代码是这样的:

import re
import sys 

s='{通配符}你好,今天开学了{通配符},你好'
print "s", s
a1 = re.compile('\{.*\}' )
d = a1.sub('',s)
print "d",d

我想把s中的两个{通配符}}给去掉,但是现在的代码执行后d只剩下,你好了,请问应该怎么实现我想要的功能呢,这个正则表达式应该怎么写?

阅读 32.3k
4 个回答
a1 = re.compile('\{.*?\}' )

用Python 3.4验证过了

pythonimport re
import sys

s='{通配符}你好,今天开学了{通配符},你好'
print("s", s)
a1 = re.compile(r'\{.*?\}' )
d = a1.sub('',s)
print("d",d)
a1 = re.compile(r'\{[^}]*\}' )
d = a1.sub('',s)
print("d",d)
import re

text = re.sub(r'{[^{}]*}', '', s)  # 去除包含在……}中的内容


新手上路,请多包涵

那么如果上面是[],方括号,怎样去除方括号和其中的内容

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题