我的代码需要清除任何类型的方括号周围的空白,所以我认为使用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