You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Anki多形式目标词汇加粗脚本修改求助(无编程基础)

解决Anki中多形式词汇在句子中自动加粗的问题

你的脚本当前只能匹配单一词汇字符串,当Word字段是das Kino · Kinos · Kinos这种多形式分隔的内容时,正则会把整个字符串当成匹配目标,自然找不到句子里的单一Kino或Kinos。下面是修改后的脚本,直接替换原来的代码即可:

<div id="word" hidden>{{Word}}</div>
<div id="sentence">{{Sentence}}</div>

<script>
(() => {
  // 获取词汇内容,按" · "分割成多个形式
  const rawWords = document.getElementById("word").innerText.trim();
  const wordList = rawWords.split(" · ").map(word => word.trim());
  
  // 对每个词汇做正则转义,避免特殊字符干扰匹配
  const escapedWords = wordList.map(word => word.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'));
  
  // 拼成正则表达式:匹配任意一个词汇,全局+大小写不敏感
  const regex = new RegExp(`(${escapedWords.join('|')})`, 'gi');
  
  const sentenceEl = document.getElementById("sentence");
  // 替换时用匹配到的原内容,保证不同形式的词汇各自加粗
  sentenceEl.innerHTML = sentenceEl.innerHTML.replace(regex, `<b><i><span style=' '>$1</span></b></i>`);
})();
</script>

使用说明:

  • 保持Word字段的多形式用·(空格+点+空格)分隔,比如das Kino · Kinos
  • 脚本会自动识别所有分隔后的词汇形式,在句子里找到对应的内容并加粗
  • 支持大小写不敏感匹配,比如句子里的kino也会被匹配到

关键修改点:

  • 把多形式词汇拆分成独立的列表,而非当成一个整体匹配
  • 对每个词汇做正则转义,避免像.或()这类特殊字符破坏匹配规则
  • 用$1引用匹配到的原内容,保证替换后和句子里的形式一致(不会把Kinos替换成Kino)

内容的提问来源于stack exchange,提问作者fouda4ever

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 22:05:00