1

在新版本的GExperts中,grep 实用程序现在支持更多“专家”表达式。

我还没有找到一种方法来定位空的 try ... 除了使用正则表达式的 Delphi 源代码中的块,我如何使用 GExperts grep 工具来做到这一点?

4

2 回答 2

5

我怀疑 GExperts 正则表达式功能是否允许您搜索超出行分隔符。

如果您不介意使用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;
于 2009-06-09T11:26:53.787 回答
0

有一个名为 Insert Auto Todo 的工具(它不是 GExperts 的一部分,我想我是从 CodeCentral 获得的)自动将 todo 插入空的开始/结束块中。也许这就是你想要的?

于 2009-06-09T13:09:01.910 回答