3

Допустим, у меня есть файл, открытый в Notepad++:

email@address.com:word1
email@address.com:word2
email@address.com:word3
email@address1.com:word4
email@address2.com:word5
email@address3.com:word6
email@address3.com:word7

Как вы можете видеть, строки 1, 2, 3 и 6, 7 повторяются перед ":". Есть ли какое-либо регулярное выражение, которое я могу использовать, чтобы пометить или удалить все строки, которые повторяются до «:»?

Спасибо!

1 ответ1

1

Внимание: это будет работать только с отсортированным файлом.

  • Ctrl+H
  • Найти что: ^([^:]+:).+\R(?:.*?\1.+(?:\R|$))+
  • Заменить на: LEAVE EMPTY
  • проверить обернуть
  • проверьте регулярное выражение
  • ПРОВЕРИТЬ . matches newline
  • Заменить все

Объяснение:

^               # beginning of line
  ([^:]+:)      # group 1, 1 or more NOT colon followed by a colon (i.e. email address)
  .+            # 1 or more any character but newline
  \R            # any kind of linebreak (ie. \r, \n, \r\n)
  (?:           # start non capture group
    .*?         # 0 or more any character, not greedy
    \1          # backreference to group 1 (email address)
    .+          # 1 or more any character but newline
    (?:\R|$)    # non capture group, a ine break or end of line
  )+            # group  may appear 1 or more times

Результат для данного примера:

email@address1.com:word4
email@address2.com:word5

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .