# 屏蔽规则解析修复计划 ## 问题分析 通过分析代码,我发现了无法处理`/domain.com/`类似规则的问题: 1. **当前实现**: - 当处理`/domain.com/`这样的规则时,代码会将其编译为正则表达式`domain.com` - 然后使用`MatchString(domain)`来检查域名是否匹配该正则表达式 - 但是,`MatchString`会检查整个字符串是否匹配,而不是检查域名是否包含该模式 - 例如,对于域名`example.com`,正则表达式`domain.com`不会匹配,因为它只匹配字符串"domain.com" 2. **用户期望**: - 用户期望`/domain.com/`匹配所有包含"domain.com"的域名,比如`sub.domain.com` - 但是当前实现中,它只会匹配精确的字符串"domain.com" ## 解决方案 ### 1. 修改正则表达式规则处理 我们需要修改`parseRule`函数中对正则表达式规则的处理,确保`/domain.com/`这样的规则能正确匹配包含该模式的域名。 ### 2. 优化匹配逻辑 我们需要确保正则表达式规则能正确匹配域名,无论是精确匹配还是包含匹配。 ## 实现步骤 1. **修改`parseRule`函数**: - 对于以`/`开头和结尾的规则,确保其能正确匹配包含该模式的域名 - 或者,添加一个选项,允许用户指定匹配模式 2. **测试修复效果**: - 确保`/domain.com/`规则能匹配`sub.domain.com`等域名 - 确保其他规则类型仍能正常工作 ## 预期效果 通过以上修复,屏蔽规则解析将能够正确处理`/domain.com/`类似的规则,匹配所有包含该模式的域名,提高用户体验。