Как мне вставить строку перед предыдущей строкой с помощью регулярного выражения в блокноте ++? - PullRequest
0 голосов
/ 08 мая 2020

Например, я хотел бы следующий список:

E|MG000|HIST|062575|08012019|062575|MG003
L|22WBM3|1|1871.1
E|MG000|HIST|020590|31012019|020590|MG003
L|10B771D015|-4|8.488
E|MG000|HIST|062575|21022019|062575|MG003
L|22WBM3|-1|1871.1

, чтобы он выглядел так:

E|MG000|HIST|062575|08012019|062575|MG003 - L|22WBM3|1|1871.1
E|MG000|HIST|020590|31012019|020590|MG003 - L|10B771D015|-4|8.488
E|MG000|HIST|062575|21022019|062575|MG003 - L|22WBM3|-1|1871.1

Ответы [ 2 ]

1 голос
/ 09 мая 2020

Попробовать (?m)^(E\|(?:(?!L\|).)+)\s+^(L\|.*(?:\r?\n)?)
Заменить $1 - $2

демо

0 голосов
/ 09 мая 2020
  • Ctrl + H
  • Найти что: \R(?=L)
  • Заменить на: - (пробел, дефис)
  • ПРОВЕРИТЬ Учитывать регистр
  • ПРОВЕРИТЬ Обернуть
  • ПРОВЕРИТЬ Регулярное выражение
  • Заменить все

Пояснение:

\R          # any kind of linebreak
(?=         # positive lookahead, make sure we have after:
    L         # letter L
)           # end lookahead

Снимок экрана (до):

enter image description here

Снимок экрана (после):

enter image description here

...