pull/1161/head
gedoor 4 years ago
parent 05cd5e24cd
commit 82821167da
  1. 23
      app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt

@ -449,19 +449,15 @@ class AnalyzeRule(val ruleData: RuleDataInterface) : JsExtensions {
val evalMatcher = evalPattern.matcher(rule) val evalMatcher = evalPattern.matcher(rule)
if (evalMatcher.find()) { if (evalMatcher.find()) {
if (mode != Mode.Js && mode != Mode.Regex tmp = rule.substring(start, evalMatcher.start())
&& evalMatcher.start() == 0 if (mode != Mode.Js && mode != Mode.Regex &&
(evalMatcher.start() == 0 || (start == 0 && !tmp.contains("##")))
) { ) {
mode = Mode.Regex mode = Mode.Regex
} }
do { do {
if (evalMatcher.start() > start) { if (evalMatcher.start() > start) {
tmp = rule.substring(start, evalMatcher.start()) tmp = rule.substring(start, evalMatcher.start())
if (mode != Mode.Js && mode != Mode.Regex
&& start == 0 && !tmp.contains("##")
) {
mode = Mode.Regex
}
splitRegex(tmp) splitRegex(tmp)
} }
tmp = evalMatcher.group() tmp = evalMatcher.group()
@ -531,16 +527,13 @@ class AnalyzeRule(val ruleData: RuleDataInterface) : JsExtensions {
when { when {
regType > defaultRuleType -> { regType > defaultRuleType -> {
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
val resultList = result as? List<String?> (result as? List<String?>)?.run {
if (resultList != null) { if (this.size > regType) {
if (resultList.size > regType) { this[regType]?.let {
resultList[regType]?.let { infoVal.insert(0, it)
infoVal.insert(0, resultList[regType])
} }
} }
} else { } ?: infoVal.insert(0, ruleParam[index])
infoVal.insert(0, ruleParam[index])
}
} }
regType == jsRuleType -> { regType == jsRuleType -> {
if (isRule(ruleParam[index])) { if (isRule(ruleParam[index])) {

Loading…
Cancel
Save