修改Obsidian-to-Anki插件正则,支持Q&A间添加忽略文本
解决Obsidian-to-Anki正则匹配需求
修改后的正则表达式
^Q: ((?:(?!^°°°$).+(?:\n|$))*) ^°°°$ (?:.+\n)*? ^A: ((?:(?!^°°°$).+(?:\n|$))*(?:^.{1,3}$|^.{4}(?<!<!--).*)*) ^°°°$
规则说明
- Q内容边界:
^°°°$作为问题内容的结束标记,仅捕获Q:开头到该行之间的所有多行内容,不会包含无关文本 - Q&A间无关文本处理:
(?:.+\n)*?非贪婪匹配问题结束标记到A:开头之间的所有行,这部分内容完全不被捕获、直接忽略 - 保留原有特性:
- 支持多行匹配问题和答案内容
- 答案部分仍遵循原规则:跳过以
<!--开头的注释行,允许长度≤3的短行纳入答案
- A内容边界:同样用
^°°°$作为答案内容的结束标记,确保答案仅捕获到该行为止
示例用法
Q: 什么是Obsidian? 它是一款本地知识库软件 °°° 这部分是Q和A之间的无关文本,不会被识别 可以写任何内容,比如备注、标签 A: Obsidian是基于Markdown的本地笔记工具 支持双向链接和插件生态 <!-- 这是注释行,不会被纳入答案 --> 123 °°°
上述示例中:
- 问题捕获内容:
什么是Obsidian?\n它是一款本地知识库软件 - 答案捕获内容:
Obsidian是基于Markdown的本地笔记工具\n支持双向链接和插件生态\n123 - 中间的无关文本完全被忽略
内容的提问来源于stack exchange,提问作者Platorius
相关产品推荐
相关产品推荐

