- father::元笔记汇总
1. 多级需求和方案设想及其结论
- 对多行操作
方案B设想
- 获得光标跨区的所有行的内容
- 用m修饰正则表达式
- 把每个匹配项都传给处理函数处理, 并替换得到结果
- 然后用结果替换这几行的内容
- 以1→2→3→4→5→6→无标题→1→…循环
方案设想
- 采用状态机
- 用零表示无标题
- 则状态转换可以用余数周期表示: 新状态=(旧状态+1)%7
- 能够获得当前行的标题情况
方案A设想
:- 用
/^#{0,6} ?(?=.)/g
正则表达式匹配前缀 - 如果长度为1, 则必定为无标题
- 如果长度不为1, 且带最后一个为空格, 则必定为标题
- 此时长度-1就等于标题层级
- 用
- 标签也算是正文
- 标签的#也要替换掉
方案A
- 能处理带空格的正文
方案A
- 得到新状态后能设置标题:
方案C设想
:- 把正则匹配到的前缀替换为新状态个#
- 如果不是0状态, 则都在末尾追加一个空格
2. 材料调研
2.1. 调研材料及结论
3. 随想(未整理)
4. 项目结论
4.1. 完整程序流程:
4.1.1. 梗概:
主程序
- 获得多行内容, 保存为rawin
- 用正则表达式匹配每一行的前缀, 并传入处理函数做替换
- 得到替换后的文本, 记作result, 用它覆盖所选行 处理函数:
- 得到匹配项长度
- 获得旧状态, 保存为Old
- 得到新状态, 保存为New
- 获得替换用字符串
- 替换前缀字符串