Исправление регулярных выражений для соответствия содержимого GSuite - PullRequest
1 голос
/ 13 июля 2020

У меня есть регулярное выражение, которое я пытаюсь проверить на наличие фишинговых писем.

Письма приходят вроде:

Principal-joe smith <officeemailxyz@gmail.com>

Мне нужно идентифицировать любой адрес электронной почты с principal*@gmail.com или @hotmail.com или @yahoo.com.

Это мое регулярное выражение:

(\W|^)(?i)pr[i!1]nc[i!1]p[a@]l@(yahoo|hotmail|gmail)\.com(\W|$)

(\W|^)(?i)pr[i!1]nc[i!1]p[a@]l---WHAT DOES HERE---@(yahoo|hotmail|gmail)\.com(\W|$)

Или есть лучший способ сделать это?

1 Ответ

1 голос
/ 13 июля 2020

Во-первых, я думаю, вам нужно сделать поиск нечувствительным к регистру с помощью опции /i. Затем вы должны включить любой действительный символ адреса электронной почты плюс пробел, если я правильно понимаю ваш пример. Я провел несколько тестов, и, похоже, все случаи улавливаются следующим:

/^[\w\s]*principal[\<+\s*a-zA-Z0-9._-]*?@[yahoo|hotmail|gmail]*\.com[\>]?$/gmi

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...