Настройка Regex для настройки адресов электронной почты, но сохранить определенные имена пользователей - PullRequest
0 голосов
/ 07 января 2020

Мне нужна помощь в настройке регулярного выражения, которое ищет определенные совпадения в именах пользователей и паролях, которые не должны передаваться в открытом виде. Имена пользователей должны следовать определенной схеме, длиной 6 символов, некоторые могут начинаться с буквы m, а другие - с одной буквы. Пароли могут быть длиной от 6 до 12 символов. На самом деле не ищет пароль для каждого, но что-то после нажатия на шаблон имени пользователя, который соответствует шаблону поиска. Этот код регулярного выражения довольно близок. При моем внутреннем тестировании системы он действительно обнаруживает имя пользователя / пароль ожидаемым образом, однако никаких проблем на regex101.com, а внутри он также попадает на адреса электронной почты, и я тоже этого не хочу. TIA для любой помощи.

Вот Regex.

(([a-zA-Z]{2}\d{3}[a-zA-Z0-9]{1}\b|assword|username|[mts]\d{5}\b|[a-zA-Z0-9\_.+\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-.]+)[^\>:\/\\.0-9]{1,8}[a-zA-Z]{1}[a-zA-Z0-9!@#$%^&*\_\-\+\=]{6,12})|([a-zA-Z]{1}[a-zA-Z0-9!@#$%^&*\_\-\+\=]{6,12}[^:\/\\.0-9]{1,8}([a-zA-Z]{2}\d{3}[a-zA-Z0-9]{1}\b|assword|username|[mts]\d{5}\b|[a-zA-Z0-9\_.+\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-.]+))

Вот тест, который я отправляю через системы внутреннего тестирования и также отчасти то, что я провожу через regex101.com

m12345 u/gibberish12
m23456 pa$$werd
m34567 #password20
m08943 $secretstuf
mailmon@abc1234
mirror@abc1234

Ниже приведен пример типа адреса электронной почты, на который он переходит, и не должен, и это нужно настроить и сохранить другие хиты :

<abcdefghijklmnopq@test.domainname.com-mail.com>

1 Ответ

1 голос
/ 07 января 2020

У вас должен быть хотя бы один обязательный пробел.

попробуйте это:

(([a-zA-Z]{2}\d{3}[a-zA-Z0-9]{1}\b|assword|username|[mts]\d{5}\b|[a-zA-Z0-9\_.+\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-.]+)\s[^\>:\/\\.0-9]{1,7}[a-zA-Z]{1}[a-zA-Z0-9!@#$%^&*\_\-\+\=]{6,11})|([a-zA-Z]{1}[a-zA-Z0-9!@#$%^&*\_\-\+\=]{6,12}[^:\/\\.0-9]{1,7}\s([a-zA-Z]{2}\d{3}[a-zA-Z0-9]{1}\b|assword|username|[mts]\d{5}\b|[a-zA-Z0-9\_.+\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-.]+))

Я заменяю: [^> : / \. 0-9] {1, 8 }

до: \ s [^>: / \. 0-9] {1, 7 } / [^>: / \. 0-9] {1, 7 } \ s (зависит от двух альтернатив)

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