Нижеследующее работало для меня с Notepad ++ так же, как вы объясняете, что вам нужно, и с примерами данных, которые вы предоставили в своем вопросе.
Огни, ,
Камера., ,
- Найти то, что:
((?:^|\r\n)[^"]*+"[^\r\n"]*+)\r\n([^"]*+")
- Заменить:
$1 $2
- Убедитесь, что опция Регулярное выражение включена
- Убедитесь, что опция Wrap Around отмечена
- Нажмите
Replace All
столько раз, сколько вам нужно, чтобы получить окончательные и ожидаемые результаты для ваших записей
Действие, ,
Объяснение:
( (?:^|\r\n) Begin at start of file or before the CRLF before the start of a record [^"]*+ Consume all chars up to the opening " " Consume the opening " [^\r\n"]*+ Consume all chars up to either the first CRLF or the closing " ) Save as capturing group 1 (= everything in record before the target CRLF) \r\n Consume the target CRLF without capturing it ( [^"]*+ Consume all chars up to the closing " " Consume the closing " ) Save as capturing group 2 (= the rest of the string after the target CRLF)
Примечание: * + является собственническим квантификатором. Используйте их соответствующим образом, чтобы ускорить выполнение.
Обновить:
Эта более общая версия регулярного выражения будет работать с любой последовательностью разрыва строки (
\r\n
,\r
или\n
):
((?:^|[\r\n]+)[^"]*+"[^\r\n"]*+)[\r\n]+([^"]*+")