Update RuleAnalyzer.kt

原来的规则还有点问题,有些情况下会跳过不分隔规则。

原因是拿一个变量记录了两个状态,有时忘记回退切换状态,导致队列位置处理混乱。

我重新梳理了一遍,更改了所有所有相关规则,新增了类成员变量保存另一种状态。

然后测试了我自己写的那几个书源,和其它用大量采用“||”、“&&”、“%%”分隔规则的书源,总算搞定。
pull/1106/head
bushixuanqi 3 years ago committed by GitHub
parent 2f38448c29
commit d408265fe2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      app/src/main/java/io/legado/app/model/analyzeRule/RuleAnalyzer.kt

@ -1,12 +1,11 @@
package io.legado.app.model.analyzeRule package io.legado.app.model.analyzeRule
//通用的规则切分处理 //通用的规则切分处理
class RuleAnalyzer(data: String) { class RuleAnalyzer(data: String) {
private var queue: String = data //被处理字符串 private var queue: String = data //被处理字符串
private var pos = 0 //处理到的位置 private var pos = 0 //处理到的位置
private var rule = arrayOf<String>() private var rule = arrayOf<String>() //规则列表
private var start = 0 //每次处理字段的开始 private var start = 0 //每次处理字段的开始
private var startX = 0 //规则的开始 private var startX = 0 //规则的开始

Loading…
Cancel
Save