Ограничить специальные символы в данном регулярном выражении - PullRequest
0 голосов
/ 18 октября 2019

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

^[a-z0-9](?!.*?[^\na-z0-9]{2}).*?[a-z0-9]@gmail.com

, которое принимает - и _, но не последовательно, я хочу ограничить его для [$%&(){}!], чего не происходит, пожалуйста, предоставьте решение длято же самое.

с учетом допустимого регулярного выражения:

  1. abc-d@gmail.com
  2. a-b_c@gmail.com
  3. abc$d@gmail.com

    3) недействительно. Выражение не должно принимать $,&,%,!,{,},(,).* в адрес электронной почты

Ответы [ 2 ]

0 голосов
/ 18 октября 2019

.*? вероятно, что вызывает у вас проблемы. Это не будет соответствовать ничего, вплоть до всего, но так мало, как требуется, чтобы получить совпадение. Но нет никаких ограничений на то, какие символы он будет принимать (. соответствует чему угодно).

Выражение не должно принимать $,&,%,!,{,},(,).* в адресе gmail

Тогда вам понадобится что-то вроде (?![$&%!{}()*]) в вашем регулярном выражении. Это не фиксирующий отрицательный взгляд, который не подтвердит, что ни один из перечисленных символов не найден.

, которые принимают - и _, но не последовательно

Вы можетедобавьте - и _ к принимающему регулярному выражению и проверьте наличие дубликатов отдельно. Предполагая адрес электронной почты в emailAddress, что-то вроде

var validation = "^(?![$&%!{}()*])[a-z0-9_-]+@gmail.com";
var containsDuplicates = emailAddress.IndexOf("--") > -1 && emailAddress.IndexOf("__") > -1;
var isValid = Regex.IsMatch(emailAddress, validation) && !containsDuplicates;  

Теперь, это не будет работать на допустимых адресах Gmail, таких как адреса, содержащие один или несколько периодов, но это кажется отдельной проблемой.

0 голосов
/ 18 октября 2019

Несмотря на очень расплывчатый и запутанный вопрос, я думаю, что вы ищете следующее выражение. ^ [^ `~! @ # $% ^ & () + = {} [] | \ :;“ '<>? ๐ ฿] $

Это вернет true длялюбая строка, которая не содержит эти символы

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