Python-正则表达式清除任何括号



我的代码需要清除任何类型的方括号周围的空白,所以我认为使用regex是我的最佳做法。我的字符串将(我认为(总是如下所示(尽管更健壮总是值得赞赏(:

text = "the people ( that don't still like / love you } are going to ..."

看起来像:

final = "the people (that don't still like / love you} are going to ..."

我目前的尝试似乎没有任何效果(我知道它目前只考虑圆括号(:

final = re.sub( r's[(]+s(w*)s[)]+s' , 's[(]+1[)]+s' , text )

请&非常感谢。

在您的示例字符串中,您希望为不同类型的括号删除左括号之后和右括号之前的空格。

您尝试的模式不起作用,因为()之间有多个单词,并且您与}不匹配

请注意,在字符类中,您不必转义括号。

([{[(])s*(.*?)s*([]})])

解释

  • ([{[(])捕获组1匹配任何列出的括号
  • s*匹配0+个空白字符
  • (.*?)捕获组2,尽可能少地匹配任何字符
  • s*匹配0+个空白字符
  • ([]})])捕获组3匹配任何列出的括号

查看regex演示

替换为3个捕获组。

123

最新更新