【问题标题】:Regex to remove parentheses and inner contents only if contents have certain words仅当内容具有某些单词时,正则表达式才删除括号和内部内容
【发布时间】:2021-11-03 03:39:50
【问题描述】:

有人可以用正则表达式帮助我删除括号及其内部内容只有当里面有某些词时,不管这些词的位置和大小写如何?

例如,如果我的字符串中有括号,其中包含单词香蕉或苹果,则应删除这些括号及其内部内容。但是,如果有其他括号中没有这些单词,则不应删除它们。

示例:应删除包含单词 bananaapple 的括号:

  • “这是一个字符串(bla blabanana bla bla)另一组括号(bla bla)”
  • “这是一个字符串(banana bla bla)另一组括号(bla bla)”
  • “这是一个字符串(bla blabanana)另一组括号(bla bla)”
  • “这是一个字符串(bla BANANA)另一组括号(bla bla)”
  • “这是一个字符串(apple bla)另一组括号(bla bla)”
  • “这是一个字符串(blaAPPLE bla)另一组括号(bla bla)”

应该变成

  • “这是一个字符串另一组括号(bla bla)”

非常感谢!

【问题讨论】:

    标签: regex regexp-replace


    【解决方案1】:

    假设您正在使用正则表达式替换与其匹配的子字符串,您可以使用:\([^)]*word[^)]*\)

    并用空字符串替换匹配项。

    使用该正则表达式,您会在单词内部找到一个括号块,其中包含之前的任何字符。除右括号外的任何字符都表示该块已经结束。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多