2016-07-26 3 views
4

У меня есть 430 HTML-файлов с информацией о том, что различные организации связывают нас с веб-страницами, мне были предоставлены эти файлы для извлечения писем.Regex to Exclude Email-Expression

Это регулярное выражение просто код, который я придумал, обнаруживает и находит электронную почту в течение файлов

\S*@\S* 

Моя проблема

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

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

+0

Заранее спасибо :) –

+0

* Найти, что *: '(\ b [A-Za-z0-9 ._% + -] + @ [A-Za-z0-9 .-] + \. [A -Za-Z] {2,4} \ б) | .'. * Замените на *: '$ 1'. Затем вы можете использовать команду * Edit -> Blank Operations -> Remove Unnecessary Blank и EOL *. –

+0

@ WiktorStribiżew и trincot вы, ребята, потрясающие, я действительно хочу изучить этот материал, у вас есть какие-то рекомендуемые ресурсы, которые я могу использовать, чтобы расширить свои знания в отношении регулярных выражений?Спасибо, ребята :) сделал мой день –

ответ

2

Убедитесь, что последняя версия Notepad ++ установлен, чтобы иметь необходимое регулярное выражение поддержки:

Найти:(^|\s+)[^@]+(\s+|$)
Replace с:\n
Регулярное выражение    

. соответствует newli ne вариант не влияет на действие.

+0

Ты легенда, Спасибо trincot –

+0

Ты добрый. – trincot

+0

* '.' Соответствует новой строке * здесь избыточно, поскольку ваш шаблон не содержит точки. –

1

Вам необходимо удалить весь текст, который не соответствует определенному шаблону.

Вы должны соответствовать и захватить электронные письма с (...)группы захвата, а затем вы должны просто соответствовать все остальное.

Используйте шаблон, подобный этому: ( + your_pattern + )|., а также заменить на $1.

Или используйте:

([^\s<>"][email protected][^\s<>"]+)|. 

или

(\b[A-Za-z0-9._%+-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}\b)|. 

Заменить: $1

Затем вы можете использовать Edit ->Blank Операции ->Удалите ненужную пустую и EOL пункт меню.

+0

Большое спасибо Wiktor, вы легенда –

+0

Добро пожаловать. Кстати, общий способ сказать спасибо на SO - это * upvoting * ответ, который оказался полезным. –