1. 多级需求和方案设想及其结论(项目根本)
1. 检验该标签是否符合同义词标签的格式✔
1.1. 遍历所有的-符号
1.2. 只要有一个-是在括号外面,就说明起码是一个同义词标签
但其他格式正不正确就不知道了
2. 遍历每一个关键字, 作为目标关键字, 剩余的关键字作为场景关键字
3. 用一个目标关键字, 与一组场景关键字, 尝试匹配一个同义词标签(待维护)
3.1. 对于目标标签,取最后一级作为代表√
3.2. 使用正则表达式从目标标签中同时捕获目标关键字和其可能的注释内容✔
之一:
3.1. 正则:/(?<!([^()]*?)(?<=(|\/|#|^|-)(?<annotation1>([^()]*?))?${标签}(?=-)(?![^()]*?))|(?<!([^()]*?)(?<=-)(?<annotation2>([^()]*?))?${标签}(?=)|$|-|\/)(?![^()]*?))/g${IgnoreCaseMode}
annotation1或annotation2捕获组会捕获()括号中的内容, 连同括号一起
2. 从注释内容中解析出注释内容
注释内容的规定
child::^848b0b
之一:
2.1. 把同义词标签分成多个关键字
child::把同义词标签分割为多个关键字(完毕)
遍历这些拆出的关键字
用正则表达式尝试匹配目标关键字以及注释内容
/(((?<annotation>.*?)))?(?<=)|^)${targetK}$/g
annotation捕获组会同时捕获()括号中的内容,不带括号
3.3. 如果正则匹配到内容✔
如果注释内容为空,表示改关键字为广义下的
如果注释内容不为空,则继续以下判断
对注释内容进行逻辑运算✔
child::表达式求值
从注释内容中分离出每一个同义词标签✔
注释内容:^848b0b
使用正则分割字符串
用正则匹配逻辑运算符和括号:/&&|\|\||!|【|】/g
- 分割符的选取范围为
()外
2.4. 对于注释内容中的每一个同义词标签, 尝试用一组场景关键字来匹配✔
child::用一组关键字尝试匹配一个同义词标签(完毕)
根据返回结果判断是否匹配成功
child::^53e9fa
如果注释内容结果为假, 则表示关键字没有成功匹配, 否则表示特殊意义
4. 将当前目标关键字的匹配结果记录下来
如果匹配到本文意义下的, 则把目标关键字保存在generalized数组中 同理, 特殊意义的关键字保存在specialMeaning数组中
5. 返回一个对象
有两个属性:
5.1. specialMeaning, 值为一个数组
元素为目标关键字, 其作为特殊意义存在于目标标签
5.2. generalized, 值为一个数组
元素为目标关键字, 其作为广义存在于目标标签中
1. 调研材料及结论(项目动力)
1. 调研代办(项目至始至终都要写):
3. 随想(未整理, 灵点子)
4. 项目结论(用以回顾项目以学习)
- 获取的标签必须是同义词标签