From d88d78e1432fb33d90f0f6d15f44b16ee733d886 Mon Sep 17 00:00:00 2001 From: Pleasurecruise <3196812536@qq.com> Date: Sat, 24 May 2025 16:22:30 +0800 Subject: [PATCH] fix: escape special characters in search pattern for improved filtering --- src/renderer/src/components/QuickPanel/view.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/renderer/src/components/QuickPanel/view.tsx b/src/renderer/src/components/QuickPanel/view.tsx index ae05ac3466..9da3d6ea34 100644 --- a/src/renderer/src/components/QuickPanel/view.tsx +++ b/src/renderer/src/components/QuickPanel/view.tsx @@ -86,7 +86,12 @@ export const QuickPanelView: React.FC = ({ setInputText }) => { return true } - const pattern = lowerSearchText.split('').join('.*') + const pattern = lowerSearchText + .split('') + .map((char) => { + return char.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + }) + .join('.*') if (tinyPinyin.isSupported() && /[\u4e00-\u9fa5]/.test(filterText)) { try { const pinyinText = tinyPinyin.convertToPinyin(filterText, '', true).toLowerCase()