Заменить с помощью Regex, содержащего некоторые из предыдущих совпадений в Notepad ++

StackOverflow https://stackoverflow.com//questions/21046744

  •  21-12-2019
  •  | 
  •  

Вопрос

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

Но так как я иногда (но не всегда), блок появляется один за другим, когда я пытаюсь заменить все, он заменяет каждый второй блок.

Я сделал это Regex

http.*\n.*\K\n\{\n  "code"(.*\n)+?\}\nhttp.*\n
.

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

Также как я ничего не заменил (как в удалении)?Просто оставь пустую замену полеми?Или мне нужен особый персонаж?Или, как я собираюсь подозревать, я не должен использовать NotPad ++ для такого рода вещи?Если это так, что следует / можно было бы использовать?

Данные образца:

  "teamAbbr" : "Foo",
  "teamName" : "Bar",
  "teamNickname" : "FBar"
    }
  } ]
}
http://www.link_I_want_to_keep_belonging_to_above_data.com

{
  "code" : "XXXXXXXXXXXXXXXXXXXXXXX",
  "techMessage" : "XXXXXXXXXXXXXXXXXXXXXX",
  "userMessage" : "XXXXXXXXXXXXXXXXXXX",
  "host" : "XXXXXXXXXXXX",
  "date" : "XXXXXXXXXXX",
  "version" : "XXX"
}
http://www.url_that_belong_to_block_Iwant_to_be_rid_off.com

{
  "code" : "XXXXXXXXXXXXXXXXXXXXXXX",
  "techMessage" : "XXXXXXXXXXXXXXXXXXXXXX",
  "userMessage" : "XXXXXXXXXXXXXXXXXXX",
  "host" : "XXXXXXXXXXXX",
  "date" : "XXXXXXXXXXX",
  "version" : "XXX"
}
http://www.url_that_belong_to_block_Iwant_to_be_rid_off.com
.

Это было полезно?

Решение

Проблема в том, что вы также соответствуете первым URL-адресам, но это недоступно, когда после матча.А также в начале файла.

Утверждения WOOTBEHIND заботятся о проблеме, но должны быть фиксированной длины.

Вам нужно искать первый URL?Т.е.делает

\{\n  "code"(.*\n)+?\}\nhttp.*\n
.

Работа для вас?

Чтобы удалить целое совпадение, которое вы замените пустой строкой.Никаких специальных персонажей не нужна.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top