diff --git a/src/renderer/src/pages/settings/WebSearchSettings/BlacklistSettings.tsx b/src/renderer/src/pages/settings/WebSearchSettings/BlacklistSettings.tsx
index de94587e2f..47852fd080 100644
--- a/src/renderer/src/pages/settings/WebSearchSettings/BlacklistSettings.tsx
+++ b/src/renderer/src/pages/settings/WebSearchSettings/BlacklistSettings.tsx
@@ -71,15 +71,27 @@ const BlacklistSettings: FC = () => {
function updateManualBlacklist(blacklist: string) {
const blacklistDomains = blacklist.split('\n').filter((url) => url.trim() !== '')
-
const validDomains: string[] = []
const hasError = blacklistDomains.some((domain) => {
- const parsed = parseMatchPattern(domain.trim())
- if (parsed === null) {
- return true // 有错误
+ const trimmedDomain = domain.trim()
+ // 正则表达式
+ if (trimmedDomain.startsWith('/') && trimmedDomain.endsWith('/')) {
+ try {
+ const regexPattern = trimmedDomain.slice(1, -1)
+ new RegExp(regexPattern, 'i')
+ validDomains.push(trimmedDomain)
+ return false
+ } catch (error) {
+ return true
+ }
+ } else {
+ const parsed = parseMatchPattern(trimmedDomain)
+ if (parsed === null) {
+ return true
+ }
+ validDomains.push(trimmedDomain)
+ return false
}
- validDomains.push(domain.trim())
- return false
})
setErrFormat(hasError)
@@ -237,7 +249,9 @@ const BlacklistSettings: FC = () => {
- {errFormat && }
+ {errFormat && (
+
+ )}