我怀疑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;
Run Code Online (Sandbox Code Playgroud)