优化解析规则

pull/406/head
gedoor 5 years ago
parent 370e6afb39
commit b2d4352ab8
  1. 15
      app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt

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

Loading…
Cancel
Save