Um regexp para encontrar enums em arquivos fonte do Delphi?

2

O pano de fundo é que eu tenho um problema de memória complicada no Delphi. Mas uma teoria é que um enum de 5 valores pode ser a raiz do bug. Então, minha pergunta para você é:

Como eu escrevo uma regexpression para pesquisar arquivos fonte para um enum com 5 valores? Um enum em Delphi se parece com isso

myEnum = (value1,value2,value3,value4,value5);

É claro que pode haver qualquer combinação de espaços, guias e novas linhas entre os valores.

    
por berocoder 03.02.2010 / 12:01

1 resposta

1

isso deve fornecer todas as linhas que você está procurando em seus arquivos:

perl -n -e 'if ($_ =~ m/\W*\w+\W*=\W*\(\W*\w+\W*,\W*\w+\W*,\W*\w+\W*,\W*\w+\W*,\W*\w+\W*\)\W*;/) { print $_; }'

apenas analise todos os arquivos de origem do delphi através deste liner perl.
mais algumas explicações:

  • \W = > significa personagem sem palavras
  • \w = > significa caractere alfanumérico, incluindo sublinhado
  • + = > pelo menos uma ocorrência
  • * = > zero ou mais ocorrência
  • $_ = > linha atual dos quais será preenchida por -n

espero que isso ajude.

    
por 03.02.2010 / 14:57

Tags