Я пытаюсь выполнить команду регулярного выражения для анализа входящих сообщений электронной почты, чтобы определить любые гиперссылки, которые были отправлены фальшивыми / фишинговыми сайтами, пытающимися использовать разные названия нашей компании. Наша компания является abcdomain. Критерии:
- Найти все гиперссылки (часть имени хоста), которые содержат название нашей компании 'abcdomain'
- Исключите все домены, которые мы зарегистрировали сами, т.е. myabcdomain.com, site.abcdomain.com, abcdomain.net и т.д.)
Мои регулярные выражения не сформированы хорошо и не работают при некоторых изменениях. Проблема, вероятно, связана с тем, как я исключаю. Сначала я действительно пытался исключить «abcdomain.com», но регулярное выражение, похоже, не сработало.
- Запрос:
(http[s]?|ftp)\S*?(abcdomain|myabcdomain)(?!\.com)
- Строка:
http://www.abcdomain.com/logo/email/abcdomain-email-logo.png
Результат: это должно быть исключено, но запрос попадает на второй abcdomain
Запрос:
(http[s]?|ftp):\/\/([\dA-Za-z\.]*)(abcdomain|myabcdomain)(?!.com|..net)
- Строка:
http://www.fakeabcdomain.com
- Результат: это должно быть включено, но мое исключение смотрит только после результата попадания)