Как я могу найти все пустые попытки ... кроме блоков с GExperts grep? - PullRequest
1 голос
/ 09 июня 2009

В новых версиях GExperts утилита grep теперь поддерживает больше «экспертных» выражений.

Я еще не нашел способ найти пустую попытку ... кроме блоков в источниках Delphi с использованием регулярных выражений, как я могу сделать это с помощью инструмента grep GExperts?

Ответы [ 2 ]

5 голосов
/ 09 июня 2009

Я сомневаюсь, что функциональность GExperts Regex позволяет искать за пределами разделителей строк.

Если вы не возражаете против использования такого компонента, как TPerlRegEx , следующий код поможет вам начать свой собственный поиск.

var
  emptyExceptBlock: TPerlRegEx;
  Results: TStringList;

emptyExceptBlock := TPerlRegEx.Create(nil);
emptyExceptBlock.RegEx := except\s+((//.*|/\*.*\*/|\(\*.*\*\))\s+)*end;
emptyExceptBlock.Options := [preExtended];
emptyExceptBlock.Subject := LoadFromFile('YourFile.pas');
Results := TStringList.Create;
if emptyExceptBlock.Match then begin
    repeat
        Results.Add(emptyExceptBlock.MatchedExpression);
    until not emptyExceptBlock.MatchAgain;
end;
0 голосов
/ 09 июня 2009

Существует инструмент, который называется Insert Auto Todo (который не является частью GExperts, я думаю, я получил его от CodeCentral), который автоматически вставляет задачи в пустые блоки начала / конца. Может быть, это то, что вы хотите?

...