Мне нужно изменить несколько текстовых файлов с вопросами на формат, который использует онлайн-платформа обучения.
У меня есть строки с такой структурой:
\item Question in german.//Question in english.\\ %true
\item Second question in german.//Second question in english.\\ %false
Мне нужно изменить строку, чтобы она выглядела следующим образом:
::Question in german.//Question in english.::[html]<p><span style\="font-size\: 14px;">Question in german.//Question in english.</span><br></p>{ %true
::Second question in german.//Second question in english..::[html]<p><span style\="font-size\: 14px;">Second question in german.//Second question in english.</span><br></p>{ %false
Только текст «Вопрос на немецком языке .// Вопрос на английском». и anser '% true' изменяется (ответ может быть либо true, либо false).
Мне удалось найти нужную мне часть с помощью этого выражения регулярного выражения:
(\\item )(.*)(\\\\ %.*)
Я использовал это
::\2::[html]<p><span style\="font-size\: 14px;">\2</span><br></p>{ \3
в качестве оператора замены, но Notepad ++ результат:
::::[html]<p><span style="font-size: 14px;"></span><br></p>{
Я также пытался
:: $2 ::[html]<p><span style\="font-size\: 14px;"> $2 </span><br></p>{ $3
, потому что я 'я не уверен, что синтаксис notepad ++ v7.7 использует. Результат похож на
:: ::[html]<p><span style="font-size: 14px;"> </span><br></p>{
Понятия не имею, почему Notepad ++ игнорирует мои группы.
РЕШЕНИЕ
Я не смог решить проблему с Notepad ++. Вот решение, которое работает для меня:
Я использовал эту веб-страницу https://regex101.com/ с шаблоном для поиска:
^\\item\h+(\N*?)//(\N*)\\\\\h*(\S+)
и для замены
::$1//$2::[html]<p><span style\="font-size\: 14px;">$1//$2</span><br></p>{ $3