下面这段C#代码中的正则表达式是什么意思?
            script_tmp2 = script;
            Pattern = @"function.*?[^{]*?{[^{}]*(((?'Open'{)[^{}]*)+((?'-Open'})[^{}]*)+)*(?(Open)(?!))}";
            script_tmp2 = Regex.Replace(script, Pattern, "", RegexOptions.Singleline);
这段的功能似乎是在HTML里去掉所有JavaScript函数为什么在delphi 7里用TPerlRegex和TRegExpr都报错呢?如果改成delphi里能用的该怎样写? 
谢谢