在GExperts的新版本中,grep实用程序现在支持更多的“专家”表达式。
除了使用正则表达式的Delphi源代码中的块之外,我还没有找到找到空try ...的方法,我该如何使用GExperts grep工具来做到这一点?
最佳答案
我怀疑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;