在新版本的GExperts中,grep 实用程序现在支持更多“专家”表达式。
我还没有找到一种方法来定位空的 try ... 除了使用正则表达式的 Delphi 源代码中的块,我如何使用 GExperts grep 工具来做到这一点?
我怀疑 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;
有一个名为 Insert Auto Todo 的工具(它不是 GExperts 的一部分,我想我是从 CodeCentral 获得的)自动将 todo 插入空的开始/结束块中。也许这就是你想要的?