Это то, что вам нужно
Найти \n(?<!;\n)
Заменить ничем.
Образец
asdf
;
asdf
adsfasdf;
;
;
Ориентир
Regex1: (^|[^;])\n
Options: < none >, Newline only
Completed iterations: 50 / 50 ( x 1000 )
Matches found per iteration: 2
Elapsed Time: 0.43 s, 430.78 ms, 430778 µs
Matches per sec: 232,138
Regex2: \n(?<!;\n)
Options: < none >, Newline only
Completed iterations: 50 / 50 ( x 1000 )
Matches found per iteration: 2
Elapsed Time: 0.15 s, 153.75 ms, 153745 µs
Matches per sec: 650,427
Примечание. Я бы не стал использовать необработанные \n
, поскольку
это случается редко. Если изменить значение на \r?\n
, оно охватывает оба
случая. Если используется движок dot-net, переменная просмотра назад работает нормально.
Если нет, вы можете использовать \n(?<!;\n)(?<!;\r\n)
, и она по-прежнему работает лучше.
Regex3: \n(?<!;\n)(?<!;\r\n)
Options: < none >
Completed iterations: 50 / 50 ( x 1000 )
Matches found per iteration: 2
Elapsed Time: 0.18 s, 184.67 ms, 184672 µs
Matches per sec: 541,500
19.06.2018