Удаление всего, кроме regex, в notepad ++

Я просмотрел несколько вопросов здесь, и я приблизился к получению ответа, однако некоторые из них делают полную противоположность того, что мне нужно, чтобы они делали. Это на самом деле хороший знак, поскольку он показывает, что я делаю некоторые успехи.
Что я пытаюсь сделать, это сделать массивный список адресов электронной почты из базы данных, которую я нашел. Каждая строка содержит произвольный текст до и после адресов электронной почты, для которых у меня нет практического применения, и я хотел бы избавиться от них, чтобы у меня был чистый список адресов электронной почты.
Каждая строка выглядит примерно так: (Мне пришлось подвергать цензуре некоторую информацию)

3e:visito****@hotmail.com:88.247.216.***:s*****1

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

В этот вопрос, я нашел регулярное выражение, которое выбирает все электронные письма отлично.

\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}\b

Кроме того, на

php — удаление всего, кроме regex, в notepad ++ — переполнение стека






















Решение

Я просмотрел несколько вопросов здесь, и я приблизился к получению ответа, однако некоторые из них делают полную противоположность того, что мне нужно, чтобы они делали. Это на самом деле хороший знак, поскольку он показывает, что я делаю некоторые успехи.
Что я пытаюсь сделать, это сделать массивный список адресов электронной почты из базы данных, которую я нашел. Каждая строка содержит произвольный текст до и после адресов электронной почты, для которых у меня нет практического применения, и я хотел бы избавиться от них, чтобы у меня был чистый список адресов электронной почты.
Каждая строка выглядит примерно так: (Мне пришлось подвергать цензуре некоторую информацию)

3e:visito****@hotmail.com:88.247.216.***:s*****1

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

В этот вопрос, я нашел регулярное выражение, которое выбирает все электронные письма отлично.

\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}\b

Кроме того, на этот вопрос, который я нашел что-то, чтобы положить в Заменить поле Notepad ++, и он удаляет электронные письма и оставляет все, кроме электронных писем. Итак, по сути, мне нужно что-то, что делает прямо противоположное этому.

Кроме того, есть около 10 миллионов строк (База данных 844 МБ) пройти, поэтому он должен быть в основном автоматизированным и простым, чтобы сэкономить время.

Заранее спасибо.

самый старый «data-shortcut =» O

Другие решения

Техника, которая может вам помочь, состоит из двух шагов:

  • во-первых, вы должны поместить свое регулярное выражение внутри (?s)^.*?(YOUR_REGEX)[^\n]* (введите его в Найти то, что поле), и используйте \1 (обратная ссылка на текст, захваченный с вашим исходным рисунком) в Заменить поле.

  • затем вручную удалите ненужный текст.

Итак, в вашем случае используйте

(?s)^.*?(\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}\b)[^\n]*

Оптимизация это немного (учтите, что [A-Za-z0-9_] можно заменить на \w здесь), вы можете использовать следующее регулярное выражение с . matches newline опция ВКЛ:

^.*?(\b[\w.%+-]+@[\w.]+\.\pL{2,4}\b)[^\n]*

объяснение:

  • ^ — начало строки в Notepad ++
  • .*? — любые символы, ноль или более вхождений, как можно меньше до границы первого слова
  • (\b[\w.%+-]+@[\w.]+\.\pL{2,4}\b) — ваш согласование шаблон внутри пары неэкранированных скобок, чтобы захват сохранялся в буфере:
    • \b — граница слова
    • [\w.%+-]+ — 1 или более словосочетаний (буквы, цифры или подчеркивание)
    • @ — а @ условное обозначение
    • [\w.]+ — 1 или более словосочетаний или .
    • \. — одна точка
    • \pL{2,4} — от 2 до 4 букв
    • \b — конечная граница слова
  • [^\n]* — 0 или более символов, кроме новой строки

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

голосует «data-shortcut =» V

Как указано в комментарии @stribizhev, Мне нужно сделать следующее:

1: Добавьте следующее регулярное выражение в Найти то, что коробка:

(?s)^.*?(\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}\b)[^\n]*

2: Добавьте следующее к Заменить коробка:

\1

И это все! Спасибо всем большое!

1

Если ваш файл отформатирован и отделен :, может быть, это регулярное выражение работает лучше для вас:

[^:]*:([^:]*):.*

и заменить его на

\1

Таким образом, вы можете получить преимущества для ваших сепараторов.

Проверьте Вот

1
0
По вопросам рекламы [email protected]