При работе с HTML-формами, очень часто бывает полезным осуществить проверку пользовательского ввода с помощью регулярных выражений. В частности, пользовательские электронные адреса трудно проверять из-за сложности спецификации, поэтому лучшим вариантом будет использовать встроенную функцию языка программирования/фреймворка, нежели писать свою собственную. Тем не менее, вы все равно можете создать довольно надежное регулярное выражение, которое будет корректно соответствовать большинству распространенных E-mail-ов, используя то, что мы уже изучили.
Ниже приведены несколько распространенных типов электронных адресов, которые вам нужно будет захватить, исключая фильтр (символ +
и всё, что после него) и домен (символ @
и всё, что после него).
Задание | Текст | Результат | |
Захватить | tom@hogwarts.com | tom | ![]() |
Захватить | tom.riddle@hogwarts.com | tom.riddle | ![]() |
Захватить | tom.riddle+regexone@hogwarts.com | tom.riddle | ![]() |
Захватить | tom@hogwarts.eu.com | tom | ![]() |
Захватить | potter@hogwarts.com | potter | ![]() |
Захватить | harry@hogwarts.com | harry | ![]() |
Захватить | hermione+regexone@hogwarts.com | hermione | ![]() |
Решение | Чтобы извлечь начало каждого электронного адреса, мы можем использовать простое выражение ^([\w\.]*), которое будет соответствовать E-mail-ам, начинающимся с буквенно-цифровых символов, включая точку и останавливаться, когда достигнем знака @ или + . |