Skip to content

Commit c96df5c

Browse files
author
Roland Bengtsson
committed
#8 % char is now removed for SQLLike as TRegEx
works different than original BoldRegularExpression unit. Sync codechanges from Attracs
1 parent 7f615b6 commit c96df5c

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

Source/ObjectSpace/Ocl/BoldOclSymbolImplementations.pas

+10-3
Original file line numberDiff line numberDiff line change
@@ -3044,7 +3044,8 @@ procedure TBOS_AllSubClasses.Evaluate(const Params: TBoldOclSymbolParameters);
30443044

30453045
function EscapeRegEx(const ASource: string): string;
30463046
begin
3047-
result := TPerlRegEx.EscapeRegExChars(ASource);
3047+
result := StringReplace(ASource, '%', '', [rfReplaceAll]);
3048+
result := TPerlRegEx.EscapeRegExChars(result);
30483049
end;
30493050

30503051
procedure TBOS_SQLLike.Evaluate(const Params: TBoldOclSymbolParameters);
@@ -3053,7 +3054,10 @@ procedure TBOS_SQLLike.Evaluate(const Params: TBoldOclSymbolParameters);
30533054
begin
30543055
s := XString(Params.values[1]);
30553056
s := EscapeRegEx(s);
3056-
Help.MakeNewBoolean(Params.Result, TRegEx.IsMatch(XString(Params.values[0]), s));
3057+
if s = '' then
3058+
Help.MakeNewBoolean(Params.Result, false)
3059+
else
3060+
Help.MakeNewBoolean(Params.Result, TRegEx.IsMatch(XString(Params.values[0]), s));
30573061
end;
30583062

30593063
procedure TBOS_SQLLikeCaseInSensitive.Evaluate(const Params: TBoldOclSymbolParameters);
@@ -3062,7 +3066,10 @@ procedure TBOS_SQLLikeCaseInSensitive.Evaluate(const Params: TBoldOclSymbolParam
30623066
begin
30633067
s := XString(Params.values[1]);
30643068
s := EscapeRegEx(s);
3065-
Help.MakeNewBoolean(Params.Result, TRegEx.IsMatch(XString(Params.values[0]), s, [roIgnoreCase]));
3069+
if s = '' then
3070+
Help.MakeNewBoolean(Params.Result, false)
3071+
else
3072+
Help.MakeNewBoolean(Params.Result, TRegEx.IsMatch(XString(Params.values[0]), s, [roIgnoreCase]));
30663073
end;
30673074

30683075
procedure TBOS_RegExpMatch.Evaluate(const Params: TBoldOclSymbolParameters);

0 commit comments

Comments
 (0)