Merge pull request #44 from gedoor/master

merge
pull/408/head
口口吕 6 years ago committed by GitHub
commit acae955366
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      app/src/main/assets/txtTocRule.json
  2. 15
      app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt

@ -38,14 +38,14 @@
"id": -6, "id": -6,
"enable": true, "enable": true,
"name": "数字 分隔符 标题名称", "name": "数字 分隔符 标题名称",
"rule": "^[  \\t]{0,4}\\d{1,5}[,., 、_—\\-].{1,30}$", "rule": "^[  \\t]{0,4}\\d{1,5}[::,., 、_—\\-].{1,30}$",
"serialNumber": 5 "serialNumber": 5
}, },
{ {
"id": -7, "id": -7,
"enable": true, "enable": true,
"name": "大写数字 分隔符 标题名称", "name": "大写数字 分隔符 标题名称",
"rule": "^[  \\t]{0,4}[零一二两三四五六七八九十百千万壹贰叁肆伍陆柒捌玖拾佰仟]{1,8}[ 、_—\\-].{1,30}$", "rule": "^[  \\t]{0,4}(?:序章|楔子|正文(?!完|结)|终章|后记|尾声|番外|[零一二两三四五六七八九十百千万壹贰叁肆伍陆柒捌玖拾佰仟]{1,8})[ 、_—\\-].{1,30}$",
"serialNumber": 6 "serialNumber": 6
}, },
{ {

@ -447,10 +447,6 @@ 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,{{ }}, 拆分
@ -460,11 +456,15 @@ 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("##")) { if (mode != Mode.Js && mode != Mode.Json && mode != Mode.Regex
&& start == 0 && !tmp.contains("##")
) {
mode = Mode.Regex mode = Mode.Regex
} }
splitRegex(tmp) splitRegex(tmp)
} else if (evalMatcher.start() == 0) { } else if (mode != Mode.Js && mode != Mode.Json && mode != Mode.Regex
&& evalMatcher.start() == 0
) {
mode = Mode.Regex mode = Mode.Regex
} }
tmp = evalMatcher.group() tmp = evalMatcher.group()
@ -488,7 +488,6 @@ class AnalyzeRule(var book: BaseBook? = null) : JsExtensions {
splitRegex(tmp) splitRegex(tmp)
} }
} }
}
/** /**
* 拆分\$\d{1,2} * 拆分\$\d{1,2}
@ -499,7 +498,9 @@ 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 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