Ваше регулярное выражение в его нынешнем виде заменит весь конец строки, поэтому лучше всего взять всю строку, проверить ее на полу, и заменить только тот раздел, который нуждается в нем (например, добавить полу).
(.*)([^\;])(\r\n)
это выражение с 3 группами захвата:
(.*)
- первая часть строки
([^\;])
- проверка пропавшего полу
(\r\n)
- конец строки
Итак, мы можем взять первую группу, добавить полу, а затем взять последнюю группу, чтобы получить полную строку, с той лишь разницей, что сам полу.
выражение замены \1\;\3
объединит первую группу, половину и последнюю группу.
Обратите внимание, что синтаксис \#
является общим для Notepad++ и некоторых других инструментов, но не универсален (многие используют $ 1, $ 2, ... $ n). не забудьте проверить документацию вашего редактора.