Страницы

Поиск по вопросам

воскресенье, 29 марта 2020 г.

Регулярное выражение для многострочного файла

#регулярные_выражения #sublime_text #notepad++


Необходимо составить регулярное выражение для замены в Sublime или Notepad++, которое
разобьет текст на блоки подобным образом:

Исходный текст:

Котики/
Отсутствует

Котик/
123вап
456пррп
M4501лолд
Mкуе2смив
5646пва1
Г34выаыв42

Котики/
Отсутствует


Результат:

Котики/\tОтсутствует

Котик/\t123вап\t456пррп\tM4501лолд\tMкуе2смив\t5646пва1\Г34выаыв42

Котики/\tОтсутствует


Пример текста, который необходимо обработать за один проход:

Котики/
Отсутствует

Отсутствует

Котики

Котики/
Отсутствует

Котики/
Отсутствует

Котики/
Отсутствует

Котики/
Отсутствует

Отсутствует

Котики/
Отсутствует

Котики/
Отсутствует

Котики/
Отсутствует

Котик/
123вап
456пррп
M4501лолд
Mкуе2смив
5646пва1
Г34выаыв42

Котики/
Отсутствует


Если кто-то может помочь, был бы благодарен.
    


Ответы

Ответ 1



Для того, чтобы объединить строки, разделённые одним переносом строки, можно воспользоваться Найти: (.)\R(?!\R) Заменить на: $1\t Вместо \R можно использовать \r?\n, \r, \n в зависимости от того, какие символы в каждом конкретном файле используются для переноса строки. Подробности (.) - Подмаска №1: любой символ, отличный от знака переноса строки \R - любой символ (последовательность символов) переноса строки, (?!\R) - за которым нет ещё одного переноса строки.

Комментариев нет:

Отправить комментарий