Кажется, что ответ прост, но когда в 'Найти и заменить' применяется действительное регулярное выражение, оно просто не работает.
Документация https://apps.ankiweb.net/docs/manual.html#find-and-replace вообще не полезна и даже вводит в заблуждение, поскольку показывает пример, который не работает при применении.
Я могу только предположить, что это работало в некоторых из предыдущих версий, но было непреднамеренно сломано.
Давайте посмотрим на пару испытаний с окном «Найти и заменить». Я использую следующие настройки. Наблюдение 1 Вход: < Поиск: < Заменить на: Выход: < Резюме: Ничего не произошло. Шаблон действителен, но он не сработал, как ожидалось. Наблюдение 2 Вход: <
Найти: ^.
Заменить на:
Выход: lt;
Резюме: lt; Напоминает сущность html <
Теперь мы знаем, что движок регулярных выражений работает, но, очевидно, символы хранятся не так, как выглядят.
Anki хранит коллекции в файле collection.anki2, который является файлом базы данных sqlite. Давайте откроем его в браузере БД для SQLite и найдем запись с:
<span style="color: rgb(255, 255, 255)">One</span>
<span style="color: rgb(255, 255, 255)">Two</span>
<span style="color: rgb(255, 255, 255)">Three</span>
Столбец sfld:
<span style="color: rgb(255, 255, 255)">One<span><span style="color: rgb(255, 255, 255)">Two<span><span style="color: rgb(255, 255, 255)">Three<span>
Столбец flds:
<div><span style="color: rgb(255, 255, 255)">One<span></div><div><span style="color: rgb(255, 255, 255)">Two<span></div><div><span style="color: rgb(255, 255, 255)">Three<span></div><div><span style="color: rgb(255, 255, 255)">One<span></div><div><span style="color: rgb(255, 255, 255)">Two<span></div><div><span style="color: rgb(255, 255, 255)">Three<span></div>
очевидно, регулярное выражение работает в столбце flds.
Давайте попробуем это регулярное выражение: До изменения: После изменения: сам шаблон можно сократить, но здесь я в основном сосредоточился на том, как заставить его работать вообще.