Я пытался заставить что-то работать для (по общему признанию, очень смущающего) проекта и использовал опцию «Найти и заменить» в Notepad++, чтобы окружить некоторые экземпляры текста чата тегами HTML с целью записи чего-то в архив. Наших собственных. Замена всего вручную была бы невероятно утомительной, и похоже, что все существующие автозаменители либо устарели, либо больше не существуют в Интернете, поэтому я работаю самостоятельно.
Это выражение RegEx, которое я использовал в поле «Найти»:
((?<startpesterlog>\G-{2})|(?<endpesterlog>-{2}))|((?<extra>\[TG])|(?<extra2>\[EB]))|((?<DavePrefix>^TG: )(?<davetext>.*))|((?<JohnPrefix>^EB: )(?<johntext>.*))|(?<lastline>\G\Z)
и это выражение RegEx, которое я использовал в поле «заменить»:
(?{lastline}$+{lastline}</p>:(?{startpesterlog}<p align="center"><span class="black">--:(?{endpesterlog}--</span></p><p class="block">:(?{extra}<span class="dave">[TG]</span>:(?{extra2}<span class="john">[EB]</span>:(?{DavePrefix}<span class="dave">TG\: $+{davetext}<\/span> <br\/>:(?{JohnPrefix}<span class="john">EB\: $+{johntext}<\/span> <br\/>:???)))))))
Если вы нажмете кнопку "заменить", все будет работать так, как задумано - последняя строка журнала заменяется на </p> как обычно. Однако при использовании кнопки «заменить все» последний </p> вообще не обозначается. Я понятия не имею, почему, но, похоже, это проблема с первым RegEx, а не со вторым, поскольку использование кнопок «найти все» возвращает на единицу меньше, чем ожидалось.
Пример:
-- TurntechGodhead [TG] начал доставать эктоБиолога [EB] в 16:13 --
ТГ: образец текста
EB: образец текста 2
После форматирования:
<p align="center"><span class="black">-- TurntechGodhead <span class="dave">[TG]</span> начал приставать к эктобиологу <span class="john">[EB ]</span> в 16:13 --</span></p><p class="block">
<span class="dave">TG: образец текста / <br/>
<span class="john">EB: образец текста 2 / <br/> </p>
Спасибо.
Поэтапная замена не дает мне
</p>
. Блокнот++ v7.9.1@MonkeyZeus это странно. он должен выделяться сразу после последнего символа, используя поиск следующего, если это не так, я отредактирую сообщение, чтобы включить версии, находящиеся в хранилище блокнота ++.