RegEx删除多行属性

时间:2017-01-18 17:48:26

标签: regex delphi firedac

我将我的系统移植到另一个数据访问库。为此,我使用正则表达式来替换/删除源代码中的某些代码。 (上面的一个例子)

我需要通过正则表达式删除IBOQ_OrderingItems.Strings和')之间的所有内容。但我不能写一个正则表达式来表达这种情况来表达这一点。在我的尝试中,这不承认像#180' asdf'或者' adsf(asdf)asdf'或者' adf'。识别后,正则表达式会删除文件的所有内容。

object SQLCalcula_umaLinha: TFDQuery
    IBOQ_OrderingItems.Strings = (
      'sf')
  end
  object SQLCalcula_VariasLinhas: TFDQuery
    IBOQ_OrderingItems.Strings = (
      'sfdf'
      'sdffs'
      'sf')   
  end
  object SQLCalcula_parentesesNoMeio: TFDQuery
    IBOQ_OrderingItems.Strings = (
      'sfdf'
      'sdffs ('' asdf '')'
      'sf')
  end

2 个答案:

答案 0 :(得分:0)

我找到了解决方案:

IBOQ_.*.Strings.=.\((\s.[\w|\s|('|')|@|!|$|#||&|*|<|>|=|*|~]*.)+'\)

我希望能提供帮助:)

答案 1 :(得分:0)

或者您可以尝试类似

的内容
IBOQ_.*\.Strings\s*=\s*\((?:'[^']*'|[^)])*\)

以288步而不是你的方式完成它,以48067步进行;)

Check it out here at regex101

修改已更改为处理引号内的括号。