fix(api): escape the searching string

This commit is contained in:
JianBo He 2021-10-22 09:35:36 +08:00 committed by x1001100011
parent 4eb966549e
commit 2ded7fbe8c
2 changed files with 12 additions and 6 deletions

View File

@ -258,14 +258,17 @@ ms(lifetime, X) ->
fuzzy_filter_fun(Fuzzy) ->
REFuzzy = lists:map(fun({K, like, S}) ->
{ok, RE} = re:compile(S),
{K, like, RE}
end, Fuzzy),
{ok, RE} = re:compile(escape(S)),
{K, like, RE}
end, Fuzzy),
fun(MsRaws) when is_list(MsRaws) ->
lists:filter( fun(E) -> run_fuzzy_filter(E, REFuzzy) end
, MsRaws)
end.
escape(B) when is_binary(B) ->
re:replace(B, <<"\\\\">>, <<"\\\\\\\\">>, [{return, binary}, global]).
run_fuzzy_filter(_, []) ->
true;
run_fuzzy_filter(E = {_, #{clientinfo := ClientInfo}, _}, [{Key, _, RE} | Fuzzy]) ->

View File

@ -620,14 +620,17 @@ ms(created_at, X) ->
fuzzy_filter_fun(Fuzzy) ->
REFuzzy = lists:map(fun({K, like, S}) ->
{ok, RE} = re:compile(S),
{K, like, RE}
end, Fuzzy),
{ok, RE} = re:compile(escape(S)),
{K, like, RE}
end, Fuzzy),
fun(MsRaws) when is_list(MsRaws) ->
lists:filter( fun(E) -> run_fuzzy_filter(E, REFuzzy) end
, MsRaws)
end.
escape(B) when is_binary(B) ->
re:replace(B, <<"\\\\">>, <<"\\\\\\\\">>, [{return, binary}, global]).
run_fuzzy_filter(_, []) ->
true;
run_fuzzy_filter(E = {_, #{clientinfo := ClientInfo}, _}, [{Key, _, RE} | Fuzzy]) ->