Regular Expression para localizar grupo de texto

1 resposta
tebosoftware

Bom dia pessoal

estou montando uma Regular Expression para trocar a classe de alguns componentes em massa no meu sistema. Só que nos dfm eu preciso fazer a quebra por componente e dentro desse grupo trocar algumas informações. Até agora monta e expressão abaixo:

object[\w\s]+\:[\s]*TIBQuery[\w\s\t\.\n\r\=\(\'\+\,\)\:#<>$\-*\|\/\\;%"\[\]!]+end

O problema que ela deveria parar no end antes do próximo objeto e eu não estou conseguindo fazer isso.

Estou testando com o site http://regexpal.com/.

Abaixo um trecho do código.

object qryObterSeq: TIBQuery
    Database = dbsAndes
    Transaction = traAndes
    CachedUpdates = True
    SQL.Strings = (
      'SELECT'
      #9'SEQUENCIA'
      ''
      'FROM'
      #9'OBTERSEQ (:CODEMPRESA, :TABELA)'
      ''
      ''
      ' ')
    Left = 104
    Top = 11
    ParamData = <item>
  end
  object qryConfTab: TIBQuery
    Database = dbsAndes
    Transaction = traAndes
    CachedUpdates = True
    SQL.Strings = (
      'SELECT '
      '  CODEMPRESA,'
      '  CODEMPRESAREF,'
      '  lrtrim$(NOMETABELA) as NOMETABELA'
      'FROM CONFTAB'
      'WHERE CODEMPRESA = :CODEMPRESA')
    Left = 31
    Top = 56
    ParamData = <item>
  end

Desde já agradeço

1 Resposta

tebosoftware

A melhor expressão que montei foi a abaixo:

object[\w ]+:\s+TIBQuery(\n|\r)[?P<texto>\w\s\r\n=.\('#:,\)\[\]$\\\/\{\}\-%\|\+&;\*]+?(end>|end)
Criado 14 de janeiro de 2014
Ultima resposta 14 de jan. de 2014
Respostas 1
Participantes 1