Notepad++ Expression для изменения текста в соответствии с необходимостью

У меня есть текстовый файл, и я использую Notepad++, и текст выглядит так:

42105-100 - 42110-131
42200-100 - 42221-131
42400-100 - 42400-131
42550-100 - 42550-131
55000-100 - 55000-131 

теперь мне нужно регулярное выражение для преобразования этого текста в

OR ( FromAccount = 42105 AND FromBranch= 100  AND ToAccount = 42110 AND ToBranch = 131)
OR ( FromAccount = 42200 AND FromBranch= 100  AND ToAccount = 42221 AND ToBranch = 131)
OR ( FromAccount = 42400 AND FromBranch= 100  AND ToAccount = 42400 AND ToBranch = 131)
OR ( FromAccount = 42550 AND FromBranch= 100  AND ToAccount = 42550 AND ToBranch = 131)
OR ( FromAccount = 55000 AND FromBranch= 100  AND ToAccount = 55000 AND ToBranch = 131)

Я знаю, что это возможно, создав регулярное выражение и просто нажав кнопку «Заменить все». но проблема в том, что я не могу создать это выражение.

пожалуйста, помогите мне создать это выражение


person Community    schedule 02.12.2016    source источник


Ответы (1)


Вы можете использовать

^(\d{5})-(\d{3}) - (\d{5})-(\d{3})$

и замените на OR \( FromAccount = $1 AND FromBranch= $2 AND ToAccount = $3 AND ToBranch = $4\).

Подробности:

  • ^ - начало строки
  • (\d{5}) - Группа 1 ($1): 5 цифр
  • - - дефис
  • (\d{3}) - Группа 2 ($2): 3 цифры
  • - - дефис внутри пробелов
  • (\d{5}) - Группа 3 ($3): 5 цифр
  • - - дефис
  • (\d{3}) - Группа 4 ($4): 3 цифры
  • $ - конец строки

При замене ( и ) должны быть экранированы.

введите здесь описание изображения

person Wiktor Stribiżew    schedule 02.12.2016
comment
Если мой ответ работает для вас, рассмотрите возможность принятия ответа, нажав на ✓ слева (см. Как принимать ответы SO) и проголосовать, если мой ответ оказался для вас полезным (см. Как проголосовать за переполнение стека?). - person Wiktor Stribiżew; 05.12.2016