1

GExpertsの新しいバージョンでは、grep ユーティリティがより多くの「エキスパート」式をサポートするようになりました。

正規表現を使用して Delphi ソース内のブロックを除いて、空の try を見つける方法をまだ見つけていません。GExperts grep ツールを使用してこれを行うにはどうすればよいですか?

4

2 に答える 2

5

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;
于 2009-06-09T11:26:53.787 に答える