修复规则解析bug

pull/395/head^2
gedoor 4 years ago
parent 487524182a
commit 2fb74fe9b8
  1. 9
      app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt

@ -447,6 +447,10 @@ class AnalyzeRule(var book: BaseBook? = null) : JsExtensions {
else -> rule = ruleStr else -> rule = ruleStr
} }
} }
if (mode == Mode.Js) {
ruleType.add(defaultRuleType)
ruleParam.add(rule)
} else {
//分离put //分离put
rule = splitPutRule(rule, putMap) rule = splitPutRule(rule, putMap)
//@get,{{ }}, 拆分 //@get,{{ }}, 拆分
@ -456,7 +460,7 @@ class AnalyzeRule(var book: BaseBook? = null) : JsExtensions {
while (evalMatcher.find()) { while (evalMatcher.find()) {
if (evalMatcher.start() > start) { if (evalMatcher.start() > start) {
tmp = rule.substring(start, evalMatcher.start()) tmp = rule.substring(start, evalMatcher.start())
if (start == 0 && !tmp.contains("##") && mode != Mode.Js) { if (start == 0 && !tmp.contains("##")) {
mode = Mode.Regex mode = Mode.Regex
} }
splitRegex(tmp) splitRegex(tmp)
@ -482,6 +486,7 @@ class AnalyzeRule(var book: BaseBook? = null) : JsExtensions {
splitRegex(tmp) splitRegex(tmp)
} }
} }
}
/** /**
* 拆分\$\d{1,2} * 拆分\$\d{1,2}
@ -492,9 +497,7 @@ class AnalyzeRule(var book: BaseBook? = null) : JsExtensions {
val ruleStrArray = ruleStr.split("##") val ruleStrArray = ruleStr.split("##")
val regexMatcher = regexPattern.matcher(ruleStrArray[0]) val regexMatcher = regexPattern.matcher(ruleStrArray[0])
while (regexMatcher.find()) { while (regexMatcher.find()) {
if (mode != Mode.Js) {
mode = Mode.Regex mode = Mode.Regex
}
if (regexMatcher.start() > start) { if (regexMatcher.start() > start) {
tmp = ruleStr.substring(start, regexMatcher.start()) tmp = ruleStr.substring(start, regexMatcher.start())
ruleType.add(defaultRuleType) ruleType.add(defaultRuleType)

Loading…
Cancel
Save