From d408265fe2e2c695201239d8d7d80d7614cc179d Mon Sep 17 00:00:00 2001 From: bushixuanqi <57338301+bushixuanqi@users.noreply.github.com> Date: Tue, 6 Jul 2021 01:07:37 +0800 Subject: [PATCH] Update RuleAnalyzer.kt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原来的规则还有点问题,有些情况下会跳过不分隔规则。 原因是拿一个变量记录了两个状态,有时忘记回退切换状态,导致队列位置处理混乱。 我重新梳理了一遍,更改了所有所有相关规则,新增了类成员变量保存另一种状态。 然后测试了我自己写的那几个书源,和其它用大量采用“||”、“&&”、“%%”分隔规则的书源,总算搞定。 --- .../main/java/io/legado/app/model/analyzeRule/RuleAnalyzer.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/src/main/java/io/legado/app/model/analyzeRule/RuleAnalyzer.kt b/app/src/main/java/io/legado/app/model/analyzeRule/RuleAnalyzer.kt index a2b78b251..e6a86bde0 100644 --- a/app/src/main/java/io/legado/app/model/analyzeRule/RuleAnalyzer.kt +++ b/app/src/main/java/io/legado/app/model/analyzeRule/RuleAnalyzer.kt @@ -1,12 +1,11 @@ package io.legado.app.model.analyzeRule //通用的规则切分处理 - class RuleAnalyzer(data: String) { private var queue: String = data //被处理字符串 private var pos = 0 //处理到的位置 - private var rule = arrayOf() + private var rule = arrayOf() //规则列表 private var start = 0 //每次处理字段的开始 private var startX = 0 //规则的开始