gedoor
762d63d4b7
字典
3 years ago
gedoor
19027427cc
字典
3 years ago
gedoor
8e18de3129
字典
3 years ago
bushixuanqi
47aa7095b8
Update RuleAnalyzer.kt
...
优化排版
3 years ago
bushixuanqi
408fb77019
Update AnalyzeByJSoup.kt
...
进一步简化 AnalyzeByJSoup 中的 ElementsSingle,尽量以共享代替传递
3 years ago
bushixuanqi
d5aba03fcf
Update AnalyzeByJSonPath.kt
...
新增设置平衡函数的参数
3 years ago
bushixuanqi
c5c72511b4
Update RuleAnalyzer.kt
...
进一步简化 AnalyzeByJSoup 中的 data class ElementsSingle,尽量以共享变量代替传递变量。
3 years ago
bushixuanqi
4203945f36
1. 彻底测试了jsoup的各种边缘用法,发现jsoup字符串中转义字符无效果,但字符串之外转义字符却有效果,所以加了条语句处理这种情况,补充完善上次的更新。
...
2. 进一步简化AnalyzeByJSoup中的data class ElementsSingle,尽量以共享变量代替传递变量。
3. 新增函数设置参数,更加参数设置所需的平衡组函数,默认设置为字符串中转义字符无效果但字符串之外转义字符却有效果,true则为所有位置转义字符都有效。
3 years ago
bushixuanqi
0aa63a9c69
Update AnalyzeByJSoup.kt
...
简化
3 years ago
bushixuanqi
f18ff8a1ff
Update AnalyzeByJSoup.kt
...
简化
3 years ago
bushixuanqi
69ea1ee3b4
Update AnalyzeByJSoup.kt
...
简化代码
3 years ago
bushixuanqi
5ba01ddab9
Update RuleAnalyzer.kt
...
解决采用新平衡组后,{$.rule}内嵌规则起始位置未记录,导致未将$.当中规则一部分的问题
3 years ago
bushixuanqi
93194909b9
Update RuleAnalyzer.kt
...
调整下参数指向
3 years ago
bushixuanqi
ff1398eae9
Update RuleAnalyzer.kt
...
将平衡组分成采用实体字符的规则平衡组(jsoup、xpath),和允许转义字符的代码平衡组(json、JavaScript),分别对应两种情况,经测试完美解决过去遗留的问题。
3 years ago
bushixuanqi
d408265fe2
Update RuleAnalyzer.kt
...
原来的规则还有点问题,有些情况下会跳过不分隔规则。
原因是拿一个变量记录了两个状态,有时忘记回退切换状态,导致队列位置处理混乱。
我重新梳理了一遍,更改了所有所有相关规则,新增了类成员变量保存另一种状态。
然后测试了我自己写的那几个书源,和其它用大量采用“||”、“&&”、“%%”分隔规则的书源,总算搞定。
3 years ago
bushixuanqi
e37929c8ca
1. RuleAnalyzer中的规则还有些问题,有些情况下会跳过不分隔规则,导致报错。
...
原因是拿一个变量记录了两个状态,有时忘记回退切换状态,导致队列位置处理混乱。
我重新梳理了一遍,更改了所有相关规则,新增了一个相关成员保存另一种状态。
然后测试了我自己写的那几个书源,和其它用大量采用“||”、“&&”、“%%”分隔规则的书源,总算搞定。
2. 将AnalyzeByJSoup中,getElementsSingle,findIndexSet,getIndexs三个函数统一整合进 data class ElementsSingle,因为它们是个整体。
3 years ago
bushixuanqi
2f38448c29
Update AnalyzeByJSoup.kt
...
将AnalyzeByJSoup中,getElementsSingle,findIndexSet,getIndexs三个函数统一整合进 data class ElementsSingle,因为它们是个整体。
3 years ago
bushixuanqi
08d53a974c
Update RuleAnalyzer.kt
...
原来的规则还有点问题,有些情况下会跳过不分隔规则。
原因是拿一个变量记录了两个状态,有时忘记回退切换状态,导致队列位置处理混乱。
我重新梳理了一遍,更改了所有所有相关规则,新增了类成员变量保存另一种状态。
然后测试了我自己写的那几个书源,和其它用大量采用“||”、“&&”、“%%”分隔规则的书源,总算搞定。
3 years ago
gedoor
beb03a5cf2
dict
3 years ago
gedoor
78a75687d1
优化
3 years ago
gedoor
9c921fcc91
优化
3 years ago
gedoor
c454a8f8f1
优化
3 years ago
gedoor
1dd592405a
优化
3 years ago
gedoor
2237ae638e
优化
3 years ago
bushixuanqi
a3dbb32812
Update RuleAnalyzer.kt
...
搞错了,那两个不是逻辑错误
3 years ago
bushixuanqi
808e58d4b5
Update updateLog.md
3 years ago
bushixuanqi
9691228561
Update updateLog.md
3 years ago
bushixuanqi
b71d37fc04
Update RuleAnalyzer.kt
...
简化规则,并修正两个逻辑错误
3 years ago
bushixuanqi
514dbf4ff9
Update RuleAnalyzer.kt
...
简化规则
3 years ago
bushixuanqi
0dc8604b6c
Update RuleAnalyzer.kt
...
修正两个逻辑错误
3 years ago
bushixuanqi
e2b4f77c32
Update RuleAnalyzer.kt
...
简化规则
3 years ago
bushixuanqi
d55b264db0
Update RuleAnalyzer.kt
3 years ago
bushixuanqi
8d957e2ce2
Update RuleAnalyzer.kt
...
优化代码,减少不必要的变量和操作
3 years ago
bushixuanqi
9e6ecbf2ca
Update AnalyzeByJSoup.kt
...
查找是否存在索引列表时,当区间与当前数字都空时跳出,避免jsoup选择器被当做索引列表而导致出错。
3 years ago
bushixuanqi
32242537f8
Update RuleAnalyzer.kt
...
修正刚才的更新中,找到筛选器起始字符时,未重置位置导致分隔字串被划分到下一段规则的问题。
3 years ago
bushixuanqi
d6db01eba9
修正刚才上次更新的规则中匹配筛选器匹配成功时未重置匹配位置,导致分隔字串被划分到下段规则的问题
3 years ago
bushixuanqi
162cf0c6cd
Update RuleAnalyzer.kt
...
改进筛选器起始字符位置查找规则,改为逐个比对,先匹配到“(”就拉取“()”平衡,先匹配到“[”就拉取“[]”平衡,避免()和[]嵌套时出现边缘情况。
跳转筛选器匹配优先顺序,从“(”优先改为“[”优先。
3 years ago
bushixuanqi
61d5e11688
0. 新增专门用于切分各种规则的类,分解完所有规则后才切片,其余操作都只改变变量指向规则字符串中的位置。暂时只用于处理三大规则的“&&”、“||”,“%%”、“@”切分,以后将扩展到全部解析规则。
...
改进jsonPath,jsoup,xpath中的规则切分方法,允许查询规则的正则或字符串中存在“&&”,“||”,“%%”,“@”而不切错。
/**
* 改进解析方法
* 解决阅读”&&“、”||“与jsonPath支持的”&&“、”||“之间的冲突
* 解决{$.rule}形式规则可能匹配错误的问题,旧规则用正则解析内容含‘}’的json文本时,用规则中的字段去匹配这种内容时,会匹配错误.现改用平衡嵌套方法解决这个问题
* */
1. 加强AnalyzeByJSoup中的索引写法
/**
* 1.支持阅读原有写法,':'分隔索引,!或.表示筛选方式,索引可为负数
*
* 例如 tag.div.-1:10:2 或 tag.div!0:3
*
* 2. 支持与jsonPath类似的[]索引写法
*
* 格式形如 [it,it,。。。] 或 [!it,it,。。。] 其中[!开头表示筛选方式为排除,it为单个索引或区间。
*
* 区间格式为 start:end 或 start🔚 step,其中start为0可省略,end为-1可省略。
*
* 索引,区间两端及间隔都支持负数
*
* 例如 tag.div[-1, 3:-2:-10, 2]
*
* 特殊用法 tag.div[-1:0] 可在任意地方让列表反向
*
* */
-------------------
已测试过各种“&&”、“||”,“%%”切分的规则及两者索引写法,没发现大问题,坤飞大大可以再测试看看
3 years ago
bushixuanqi
e8bc90fd9f
Revert AnalyzeByJSoup.kt
...
复制错了,回退
3 years ago
bushixuanqi
d0f87aee76
Update AnalyzeByJSoup.kt
...
改进筛选器起始字符位置查找规则,改为逐个比对,先匹配到“(”就拉取“()”平衡,先匹配到“[”就拉取“[]”平衡,避免()和[]嵌套时出现边缘情况。
跳转筛选器匹配优先顺序,从“(”优先改为“[”优先。
3 years ago
bushixuanqi
d01d77fc4f
Update AnalyzeByJSoup.kt
...
扩大索引向前的匹配范围,索引前无规则时相当于前面的规则是children
3 years ago
bushixuanqi
0978ff83fd
Update RuleAnalyzer.kt
...
修正注释描述
3 years ago
bushixuanqi
c9f2071e00
Update AnalyzeByJSoup.kt
...
允许索引作为首规则,此时相对于children。
head@[1]@text 与 head@children[1]@text 等价
3 years ago
bushixuanqi
d8a83f9e15
Update RuleAnalyzer.kt
...
优化注释描述
3 years ago
bushixuanqi
9a00fb82da
Update RuleAnalyzer.kt
...
简化部分规则,调整压入切分出的规则时的判断顺序,避免重复压入
3 years ago
bushixuanqi
14d033f19f
0. 新增专门用于切分各种规则的类,分解完所有规则后才切片,其余操作都只改变变量指向规则字符串中的位置。暂时只用于处理三大规则的“&&”、“||”,“%%”、“@”切分,以后将扩展到全部解析规则。
...
改进jsonPath,jsoup,xpath中的规则切分方法,允许查询规则的正则或字符串中存在“&&”,“||”,“%%”,“@”而不切错。
/**
* 改进解析方法
* 解决阅读”&&“、”||“与jsonPath支持的”&&“、”||“之间的冲突
* 解决{$.rule}形式规则可能匹配错误的问题,旧规则用正则解析内容含‘}’的json文本时,用规则中的字段去匹配这种内容时,会匹配错误.现改用平衡嵌套方法解决这个问题
* */
1. 加强AnalyzeByJSoup中的索引写法
/**
* 1.支持阅读原有写法,':'分隔索引,!或.表示筛选方式,索引可为负数
*
* 例如 tag.div.-1:10:2 或 tag.div!0:3
*
* 2. 支持与jsonPath类似的[]索引写法
*
* 格式形如 [it,it,。。。] 或 [!it,it,。。。] 其中[!开头表示筛选方式为排除,it为单个索引或区间。
*
* 区间格式为 start:end 或 start🔚 step,其中start为0可省略,end为-1可省略。
*
* 索引,区间两端及间隔都支持负数
*
* 例如 tag.div[-1, 3:-2:-10, 2]
*
* 特殊用法 tag.div[-1:0] 可在任意地方让列表反向
*
* */
-------------------
已测试过各种“&&”、“||”,“%%”切分的规则及两者索引写法,没发现大问题,坤飞大大可以再测试看看
3 years ago
bushixuanqi
ad22929c38
Update AnalyzeByJSoup.kt
...
继续优化代码,避免不必要的操作
3 years ago
bushixuanqi
a04e54543c
Update AnalyzeByJSoup.kt
...
更改重置区间操作的位置,避免不必要的操作
3 years ago
bushixuanqi
91f721e28c
Update AnalyzeByJSoup.kt
...
重置区间暂存列表,解决存在多个区间时的问题
3 years ago
bushixuanqi
464c8fe66e
Update AnalyzeByJSoup.kt
...
修正一个错误
3 years ago