Я пытаюсь отформатировать серию тестовых вопросов для внедрения в онлайн-курс в LibreOffice Writer. Формат тестового вопроса был недавно изменен, и мне нужно обновить все 500+ вопросов в текстовом файле перед реализацией.
Вопросы в настоящее время выглядят так:
1. alter verb (awl-ter)
to change; become different or modified
■Example: The design of the king’s suit was altered to suit his taste.
□Note: Can be confused with altar , alter.
нам нужно изменить формат выглядит следующим образом:
Word: alter verb (awl-ter)
Definition: to change, become different or modified
Example: The design of the king’s suit was altered to suit his taste.
Possible Exam Question: Can be confused with altar , alter.
Я знаю достаточно регулярных выражений, чтобы можно было автоматически форматировать большинство строк, за исключением строки определения. Мне особенно нужно добавить слово «Определение:» в начало строки сразу после строки «Слово», но я не могу понять, как это сделать правильно.
Я пытался использовать (\b\d+\.\s\w.*[\r\n])
который может найти первую строку каждой группы определений (как показано выше) и до новой строки / возврата - однако, при попытке добавить текст, используя $1Definition:
, который согласно файлу помощи регулярного выражения Writer должен сохранить исходные результаты и добавьте все, что следует после «$ 1», он либо заменит один раз и больше никогда не будет работать с последующими щелчками «заменить», либо заменит все буквальной строкой $1Definition:
, если используется кнопка «заменить все» ...
Я добавил экранную копию функции поиска , выделяющую строку . Похоже, что поиск действительно находит то, что я ищу, и подсвечивает первую строку каждого набора при нажатии «найти все».
Проблема возникает (как упоминалось выше) при попытке нажмите «заменить» более одного раза или нажмите «заменить все» .
В настоящее время я в растерянности относительно того, в чем заключается проблема / как решить эту проблему. Похоже, что мой Regex как-то портит поисковый запрос и вывод.