diff --git a/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt b/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt index d3da68e1a..d2aced8ee 100644 --- a/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt +++ b/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt @@ -154,8 +154,15 @@ class AnalyzeRule( } else { // 键值直接访问 result[sourceRule.rule] - }?.let { - replaceRegex(it.toString(), sourceRule) + } + result?.let { + if (sourceRule.replaceRegex.isNotEmpty() && it is List<*>) { + result = it.map { o -> + replaceRegex(o.toString(), sourceRule) + } + } else if (sourceRule.replaceRegex.isNotEmpty()) { + result = replaceRegex(result.toString(), sourceRule) + } } } else { for (sourceRule in ruleList) { @@ -413,7 +420,7 @@ class AnalyzeRule( /** * getString 类规则缓存 */ - fun splitSourceRuleCacheString(ruleStr: String?) : List { + fun splitSourceRuleCacheString(ruleStr: String?): List { if (ruleStr.isNullOrEmpty()) return emptyList() val cacheRule = stringRuleCache[ruleStr] return if (cacheRule != null) {